Navigation
API > API/Runtime > API/Runtime/IrisCore
NetObjectPrioritizers are responsible for determining how important it is to replicate an object. Priorities should be at least 0.0f, meaning no need to replicate. At 1.0f objects are being considered for replication. Priorities are acumulated per object and connection until it's replicated, at which point the priority is reset to zero. Bandwidth constraints and other factors may cause a highly prioritized object to still not be replicated to a particular connection a certain frame. There is no mechanism to force an object to be replicated a certain frame, but the priority is a major factor in the decision.
| Name | UNetObjectPrioritizer |
| Type | class |
| Header File | /Engine/Source/Runtime/Net/Iris/Public/Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h |
| Include Path | #include "Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h" |
Syntax
UCLASS (Abstract)
class UNetObjectPrioritizer : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UNetObjectPrioritizer
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UNetObjectPrioritizer() |
Have spatial prioritizers and non-spatial prioritizers. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddConnection
(
uint32 ConnectionId |
A new connection has been added. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual bool AddObject
(
uint32 ObjectIndex, |
A new object want to use this prioritizer. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void Deinit () |
Called when the replication system is shutting down. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void Init
(
FNetObjectPrioritizerInitParams& Params |
Called once at init time before any other calls to the prioritizer. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void PostPrioritize
(
FNetObjectPostPrioritizationParams& |
If PrePrioritize() was called then PostPrioritize() will be called exactly once after all Prioritize() calls. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void PrePrioritize
(
FNetObjectPrePrioritizationParams& |
If there are any connections being replicated and there's a chance Prioritize() will be called then PrePrioritize() will be called exactly once before all calls to Prioritize(). | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void Prioritize
(
FNetObjectPrioritizationParams& |
Prioritize a batch of objects. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void RemoveConnection
(
uint32 ConnectionId |
A new connection has been added. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void RemoveObject
(
uint32 ObjectIndex, |
An object do no longer want to use this prioritizer. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h | |
virtual void UpdateObjects
(
FNetObjectPrioritizerUpdateParams& |
A set of objects used by this prioritizer have been updated. | Iris/ReplicationSystem/Prioritization/NetObjectPrioritizer.h |