Iris-ready entity replicationKBVENet
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.
Iris-ready, transport-agnostic
UKBVENetEntityReplicator holds a delta-compressed FFastArraySerializer of lean per-entity snapshots. FastArrays ride Iris when the ReplicationSystem is on, the classic NetDriver otherwise — the consumer writes no Iris-specific code.
- Depends on — KBVESupabase, KBVEWorld, KBVEGameplay.
- Snapshot — Id, quantized Location, packed yaw, Frame, StateByte.
Replication primitives
Features
Delta-compressed snapshots
An FFastArraySerializer of lean per-entity snapshots — Id, quantized Location, packed YawQ, Frame, and a StateByte.
Transport-agnostic
FastArrays ride Iris when the ReplicationSystem is on, the classic NetDriver otherwise — consumers write no Iris-specific code.
Server-authoritative streaming
Streams a server-authoritative sim (Mass ECS swarms, etc.) to clients that render it locally.
Wire format
Entity-snapshot replicator
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.
// serverRep->ServerUpsert(EntityId, WorldPos, MoveYawDeg, Frame, bMoving ? 1 : 0);// clientfor (const FKBVENetEntitySnapshot& S : Rep->GetSnapshots()) { /* render */ }Enabling Iris
Section titled “Enabling Iris”Per game: bUseIris = true; in each *.Target.cs, and Net.Iris.UseIrisReplication=1 under [ConsoleVariables] in Config/DefaultEngine.ini.
Users & plans
Consumers & roadmap
Consumers
- 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.
Roadmap
- 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.
Questions
Frequently asked
What does the KBVENet plugin do?
KBVENet is a shared Unreal Engine 5 networking layer that streams a server-authoritative simulation, such as a Mass ECS swarm, to clients using a delta-compressed entity-snapshot replicator so clients render the sim locally.
How does KBVENet replicate entities?
UKBVENetEntityReplicator holds a delta-compressed FFastArraySerializer of lean per-entity snapshots — Id, quantized Location, packed yaw, animation Frame, and a StateByte. FastArrays ride Iris when the ReplicationSystem is on and the classic NetDriver otherwise, so consumers write no Iris-specific code.
How do you enable Iris replication with KBVENet?
Per game, set bUseIris = true in each Target.cs and add Net.Iris.UseIrisReplication=1 under the ConsoleVariables section of Config/DefaultEngine.ini. KBVENet supplies the replication primitives; turning Iris on stays a per-target configuration choice.
