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
Diggable ground
Carve tunnels and caves through ordinary landscape terrain, with the landscape masked out and its collision lowered underneath dug columns.
Destructible structures
Voxelise any closed static mesh and let players break it apart; disconnected pieces spawn as physics rubble with replicated movement.
Free-standing shapes
Place volumes from noise, primitives or meshes in the level and sculpt them in the editor or at runtime.
Persistent player changes
Store whole-volume state locally or through any backend you write a persistence provider for.
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
Brush presets
Sphere or box, dig, fill, paint, smooth, with radius, strength, falloff, material and cooldown.
Deterministic ops
Edits are quantised to integers end to end, so every machine that applies the same op gets the same voxels.
Queries and rules
Line traces against voxels, edit events with per-material counts, an authorizer interface for gameplay rules, and a material set for names, tool/yield ids and a gameplay tag.
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
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.
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
stat ButterNetVoxels and the debug draw commands on your own maps.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.