Skip to content

KBVENet

KBVENet is the shared networking layer for KBVE games. It provides Iris-ready replication primitives for streaming a server-authoritative simulation (Mass ECS swarms, etc.) to clients that render it locally.

UKBVENetEntityReplicator holds a delta-compressed FFastArraySerializer of lean per-entity snapshots — Id, quantized Location, packed YawQ, Frame, and a StateByte. FastArrays are transported by Iris when the ReplicationSystem is on, by the classic NetDriver otherwise — the consumer writes no Iris-specific code.

// server
Rep->ServerUpsert(EntityId, WorldPos, MoveYawDeg, Frame, bMoving ? 1 : 0);
// client
for (const FKBVENetEntitySnapshot& S : Rep->GetSnapshots()) { /* render */ }

Per game: bUseIris = true; in each *.Target.cs, and Net.Iris.UseIrisReplication=1 under [ConsoleVariables] in Config/DefaultEngine.ini.

  • chuck slime swarm — server runs the Mass sim and pushes each slime’s position/yaw/frame; clients render the swarm from snapshots into a local ISM. Direction row + billboard are computed per-client from the local camera so facing stays view-correct.
  • Push-model dirty tracking on the replicated array.
  • Per-entity Iris NetObjects (replacing the single-actor FastArray) for very large swarms.
  • Relevancy / spatial culling so clients only receive nearby entities.