Focused reference · Unreal Engine 5.8
Relevancy, priority, frequency, and dormancy
Relevancy
Relevancy is per connection: should this actor affect this viewer now? Use built-in settings before
overriding IsNetRelevantFor:
bAlwaysRelevantfor genuinely global actors only;bOnlyRelevantToOwnerfor private actors such as a PlayerController;bNetUseOwnerRelevancyfor actors that should follow their owner;NetCullDistanceSquaredfor distance-based relevance where enabled.
Dynamically spawned replicated actors can be destroyed on a client when they become irrelevant and recreated when relevant again. Durable state must survive that transition through replication, not a one-shot multicast.
Update frequency and priority
NetUpdateFrequencydetermines how often an actor is considered for updates in Generic Replication.- Priority decides which actors replicate first when a connection saturates; elapsed time since last update contributes, preventing simple starvation.
- Do not set every actor always relevant or high frequency.
- Change frequency/priority only from measured responsiveness and bandwidth evidence.
Dormancy
Use dormancy for actors that replicate state but remain unchanged for long periods. Epic calls it one of the most impactful server replication optimizations.
Procedure:
- Map-placed initially static actor: start with
DORM_Initialwhen appropriate. - Runtime/static actor: use
DORM_DormantAllwhen all connections can sleep it. - Before changing replicated actor/component/subobject state, call
FlushNetDormancy,ForceNetUpdate, or setDORM_Awakeas the update pattern requires. - For continuous changes, wake with
SetNetDormancy(DORM_Awake)and return toDORM_DormantAllafter state settles. - Do not return a once-awakened map actor to
DORM_Initial.
Blueprint actor replicated-property writes may flush automatically, but replicated ActorComponent Blueprint properties do not have the same guarantee. Keep the explicit wake-before-mutate rule.
Diagnostic sequence
If a property updates only sometimes:
- Confirm mutation occurs on the server.
- Confirm the actor/component/property replicates.
- Confirm the connection owns/is relevant as required.
- Check dormancy and wake order.
- Check condition and update frequency.
- Inspect the packet/property in Network Insights.
Use LogNetDormancy, net.DumpRelevantActors, and net.ActorReport for targeted evidence.