Unreal Engine 5.8 · Plugin

ButterNet Multiplayer Voxel

Per edit on the wire
~60bytes per replicated edit op, not a full chunk resync
Dig at radius 3
~0.05ms on a desktop CPU, including debris detection into attached ground
1,024-chunk volume
~320ms until all chunk meshes are ready after creation
Persistence footprint
~530bytes for an eight-chunk edited volume saved to disk

What it is

ButterNet Multiplayer Voxel adds editable, replicated, persistent smooth-voxel volumes to Unreal Engine. Players dig, fill, paint and smooth the world; every machine sees the same result; edits survive restarts; and pieces that lose their footing break off and fall.

It is a plugin with no dependency on any game code, driven from Blueprint or C++ through a small set of functions, events and interfaces.

What you can build

Volumes and generation

Volumes are actors with a definition asset; chunks of 32 × 32 × 32 voxels at any voxel size you choose. Generators include layered noise terrain with seeded caves, primitives, and runtime voxelisation of static meshes with exact surface normals. Surfaces come from Surface Nets for smooth terrain, or Dual Contouring to keep mesh edges sharp. Per-voxel material index reaches your material through vertex colour.

Editing

Replication and prediction

Small ops

Edits replicate as compact ops rather than full chunk payloads. Late joiners catch up from compressed chunk snapshots under a byte budget.

Client prediction

Dig and fill predict locally with server rollback when an edit is rejected. Range and rate limits apply per player on the authority.

Both drivers

Works with the legacy replication driver and Iris. No game code required beyond calling the subsystem from your input.

Terrain mode

A volume can take its ground from a landscape. Nothing renders until the first dig; from then on the dug columns render as voxels while the landscape is masked out and its collision lowered underneath. One material function handles the masking. Heights come from a pristine snapshot, so PIE sessions and reloads always rebuild the same ground.

Scale and debris

Performance

LOD and streaming

Three LODs with seam snapping between them, far regions that batch distant chunks into one mesh, async meshing and collision on worker threads, and World Partition streaming per volume. Dedicated servers build collision only.

Physics

Breaking debris

After a dig, pieces no longer connected to the volume are detected, removed on every machine and spawned as physics actors with a convex hull, replicated movement, mass from their volume, and a lifetime.

Editor tools

Voxel Sculpt mode lets you drag in the viewport to dig, fill and paint placed blob volumes; each stroke is one undo step and the result is saved with the level. Live preview of blob volumes, a bounds wireframe, a cave preview toggle, and a debug-draw console variable show chunk states, LODs and terrain columns.

Measured on a desktop CPU

Representative timings from the plugin docs. Your content and hardware will differ; use stat ButterNetVoxels and the debug draw commands on your own maps.
Dig, radius 3 ~0.05 ms Surface Nets, one chunk ~0.3 ms worker + ~0.6 ms render Piece breaking off ~0.3 ms game thread 0 relative cost
Edit Meshing Debris

Known limitations

Landscape grass and foliage are not removed over holes; listen to edit events and clear them in the game. The sculpt editor mode works on blob volumes; terrain volumes are edited in play. Debris uses one convex hull per piece. Static-mesh features thinner than two voxels disappear at that voxel size.

Requirements

Unreal Engine 5.8, C++ project (the plugin ships as source). Modules: runtime core, runtime landscape host, editor sculpt mode. See the installation guide for setup, every parameter, and troubleshooting.