Navigation
API > API/Runtime > API/Runtime/IrisCore
| Name | UReplicationSystem |
| Type | class |
| Header File | /Engine/Source/Runtime/Net/Iris/Public/Iris/ReplicationSystem/ReplicationSystem.h |
| Include Path | #include "Iris/ReplicationSystem/ReplicationSystem.h" |
Syntax
UCLASS (Transient)
class UReplicationSystem : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UReplicationSystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UReplicationSystem() |
Iris/ReplicationSystem/ReplicationSystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~UReplicationSystem() |
Iris/ReplicationSystem/ReplicationSystem.h |
Structs
| Name | Remarks |
|---|---|
| FReplicationSystemParams |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FNetHandle | UE::Net::FNetHandle | Iris/ReplicationSystem/ReplicationSystem.h | |
| FNetObjectGroupHandle | UE::Net::FNetObjectGroupHandle | Iris/ReplicationSystem/ReplicationSystem.h | |
| FNetRefHandle | UE::Net::FNetRefHandle | Iris/ReplicationSystem/ReplicationSystem.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAllowObjectReplication | uint32 | Iris/ReplicationSystem/ReplicationSystem.h | ||
| bDoCollectGarbage | uint32 | Iris/ReplicationSystem/ReplicationSystem.h | ||
| bIsServer | uint32 | Iris/ReplicationSystem/ReplicationSystem.h | ||
| ElapsedTime | double | Iris/ReplicationSystem/ReplicationSystem.h | ||
| Id | uint32 | Iris/ReplicationSystem/ReplicationSystem.h | ||
| Impl | TPimplPtr< UE::Net::Private::FReplicationSystemImpl > | Iris/ReplicationSystem/ReplicationSystem.h | ||
| PIEInstanceID | int32 | Iris/ReplicationSystem/ReplicationSystem.h | ||
| PostGarbageCollectHandle | FDelegateHandle | Iris/ReplicationSystem/ReplicationSystem.h | ||
| ReplicationBridge | TObjectPtr< UObjectReplicationBridge > | Iris/ReplicationSystem/ReplicationSystem.h |
|
|
| UNetDriver | friend | Iris/ReplicationSystem/ReplicationSystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddConnection
(
uint32 ConnectionId |
Notify that a connection was added. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool AddExclusionFilterGroup
(
FNetObjectGroupHandle GroupHandle |
Add a group to the filtering system. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool AddInclusionFilterGroup
(
FNetObjectGroupHandle GroupHandle |
Add a group to the filtering system. | Iris/ReplicationSystem/ReplicationSystem.h | |
void AddToGroup
(
FNetObjectGroupHandle GroupHandle, |
Add an object to a group. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool AllowObjectReplication() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
void ClearCullDistanceOverride
(
FNetRefHandle Handle |
Clears any previously set cull distance override for an object. | Iris/ReplicationSystem/ReplicationSystem.h | |
void CloseDataStream
(
uint32 ConnectionId, |
Initiate close of DataStream for the given ConnectionId. | Iris/ReplicationSystem/ReplicationSystem.h | |
void CollectNetMetrics
(
UE::Net::FNetMetrics& OutNetMetrics |
Collect relevant metrics that could be sent to analytics | Iris/ReplicationSystem/ReplicationSystem.h | |
FNetObjectGroupHandle CreateGroup
(
FName GroupName |
Create a group which can be used to logically group objects together. | Iris/ReplicationSystem/ReplicationSystem.h | |
void DestroyGroup
(
FNetObjectGroupHandle GroupHandle |
Destroy a group. | Iris/ReplicationSystem/ReplicationSystem.h | |
FNetObjectGroupHandle FindGroup
(
FName GroupName |
Return the handle to a group identified by the given name | Iris/ReplicationSystem/ReplicationSystem.h | |
void ForceNetUpdate
(
FNetRefHandle Handle |
Force the passed object to be considered for replication this frame. | Iris/ReplicationSystem/ReplicationSystem.h | |
UObject * GetConnectionUserData
(
uint32 ConnectionId |
Retrieve the user data associated with a connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
float GetCullDistance
(
FNetRefHandle Handle, |
Returns the current cull distance for an object or DefaultValue if it doesn't have a cull distance or is not a replicated object. | Iris/ReplicationSystem/ReplicationSystem.h | |
const UDataStream * GetDataStream
(
uint32 ConnectionId, |
Const version of GetDataStream | Iris/ReplicationSystem/ReplicationSystem.h | |
UDataStream * GetDataStream
(
uint32 ConnectionId, |
Get DataStream with the provided Name | Iris/ReplicationSystem/ReplicationSystem.h | |
const UE::Net::FNetDebugName * GetDebugName
(
FNetRefHandle Handle |
Get the DebugName associated with a handle. | Iris/ReplicationSystem/ReplicationSystem.h | |
UE::Net::FReplicationSystemDelegates & GetDelegates() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
double GetElapsedTime() |
Returns elapsed time in seconds since ReplicatonSystem was created | Iris/ReplicationSystem/ReplicationSystem.h | |
UNetObjectFilter * GetFilter
(
const FName FilterName |
Gets the filter with a given name. | Iris/ReplicationSystem/ReplicationSystem.h | |
UE::Net::FNetObjectFilterHandle GetFilterHandle
(
const FName FilterName |
Gets the handle for a filter with a given name. | Iris/ReplicationSystem/ReplicationSystem.h | |
FName GetFilterName
(
UE::Net::FNetObjectFilterHandle Filter |
Returns the name of the filter associated to this handle. | Iris/ReplicationSystem/ReplicationSystem.h | |
uint32 GetId() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
uint32 GetMaxConnectionCount() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
FNetObjectGroupHandle GetNetGroupOwnerNetObjectGroup() |
Special group, SubObjects assigned to this group will replicate to owner of RootParent | Iris/ReplicationSystem/ReplicationSystem.h | |
FNetObjectGroupHandle GetNetGroupReplayNetObjectGroup() |
Special group, SubObjects assigned to this group will replicate if replay netconditions is met | Iris/ReplicationSystem/ReplicationSystem.h | |
UE::Net::FNetTokenResolveContext GetNetTokenResolveContext
(
uint32 ConnectionId |
Get NetTokenResolveContext resolve NetTokens | Iris/ReplicationSystem/ReplicationSystem.h | |
| Iris/ReplicationSystem/ReplicationSystem.h | |||
const UE::Net::FNetTokenStore * GetNetTokenStore () |
Iris/ReplicationSystem/ReplicationSystem.h | ||
FNetObjectGroupHandle GetNotReplicatedNetObjectGroup() |
Special group, root objects assigned to this group will be filtered out for all connections | Iris/ReplicationSystem/ReplicationSystem.h | |
FNetObjectGroupHandle GetOrCreateSubObjectFilter
(
FName GroupName |
SubObject filtering. | Iris/ReplicationSystem/ReplicationSystem.h | |
uint32 GetOwningNetConnection
(
FNetRefHandle Handle |
Get the owning net connection for an object. | Iris/ReplicationSystem/ReplicationSystem.h | |
int32 GetPIEInstanceID() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
UNetObjectPrioritizer * GetPrioritizer
(
const FName PrioritizerName |
Gets the prioritizer with a given name. | Iris/ReplicationSystem/ReplicationSystem.h | |
UE::Net::FNetObjectPrioritizerHandle GetPrioritizerHandle
(
const FName PrioritizerName |
Gets the handle for a prioritizer with a given name. | Iris/ReplicationSystem/ReplicationSystem.h | |
UObjectReplicationBridge * GetReplicationBridge() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
T * GetReplicationBridgeAs() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
const UE::Net::FReplicationProtocol * GetReplicationProtocol
(
FNetRefHandle Handle |
Get the ReplicationProtocol for a handle. | Iris/ReplicationSystem/ReplicationSystem.h | |
UE::Net::Private::FReplicationSystemInternal * GetReplicationSystemInternal () |
For internal use and not exported. | Iris/ReplicationSystem/ReplicationSystem.h | |
const UE::Net::Private::FReplicationSystemInternal * GetReplicationSystemInternal () |
Iris/ReplicationSystem/ReplicationSystem.h | ||
FNetObjectGroupHandle GetSubObjectFilterGroupHandle
(
FName GroupName |
Returns the FNetObjectGroupHandle used by a named SubObjectFilter | Iris/ReplicationSystem/ReplicationSystem.h | |
const UE::Net::FWorldLocations & GetWorldLocations () |
Retrieve the WorldLocations instance which holds world locations for all objects that support it. | Iris/ReplicationSystem/ReplicationSystem.h | |
void InitDataStreamManager
(
uint32 ConnectionId, |
Init data streams for a connection. For internal use by UDataStreamChannel. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsInGroup
(
FNetObjectGroupHandle GroupHandle, |
Check whether an objects belongs to a particular group or not. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsKnownDataStreamDefinition
(
FName Name |
Returns true if there exists a DataStreamDefinition for the provided Name | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsNetRefHandleAssigned
(
FNetRefHandle Handle |
Check whether a FNetRefHandle is still associated with a replicated object. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsReplicationEnabledForConnection
(
uint32 ConnectionId |
Check whether object replication is enabled for a particular connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsServer() |
Iris/ReplicationSystem/ReplicationSystem.h | ||
bool IsUsingRemoteObjectReferences() |
When using remote objects with UE_WITH_REMOTE_OBJECT_HANDLE, whether or not TObjectPtr or TWeakObjectPtr properties should be serialized as FRemoteObjectReferences | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsValidConnection
(
uint32 ConnectionId |
Verify if a connection is valid, that is has been added to the system. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool IsValidGroup
(
FNetObjectGroupHandle GroupHandle |
Check if a group handle is valid. | Iris/ReplicationSystem/ReplicationSystem.h | |
void MarkDirty
(
FNetRefHandle Handle |
Explicitly mark object as having dirty properties. | Iris/ReplicationSystem/ReplicationSystem.h | |
void NetUpdate
(
float DeltaSeconds |
Update all internal systems, such as filtering, dirty tracking, prioritization, etc. | Iris/ReplicationSystem/ReplicationSystem.h | |
UDataStream * OpenDataStream
(
uint32 ConnectionId, |
Request DataStream to be created/opened for the given ConnectionId. | Iris/ReplicationSystem/ReplicationSystem.h | |
void PostReceiveUpdate() |
Callback triggered after the connections processed all received data | Iris/ReplicationSystem/ReplicationSystem.h | |
void PostSendUpdate() |
Cleanup temporaries and prepare for the next send update. | Iris/ReplicationSystem/ReplicationSystem.h | |
void PreReceiveUpdate() |
Callback triggered before connections start processing their received data | Iris/ReplicationSystem/ReplicationSystem.h | |
bool QueueNetObjectAttachment
(
uint32 ConnectionId, |
Queue an attachment for replication with an object. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool RegisterNetBlobHandler
(
UNetBlobHandler* Handler |
Registers a NetBlobHandler so that its NetBlob type can be sent and received. | Iris/ReplicationSystem/ReplicationSystem.h | |
void RemoveConnection
(
uint32 ConnectionId |
Notify that a connection was removed. | Iris/ReplicationSystem/ReplicationSystem.h | |
void RemoveFromAllGroups
(
FNetRefHandle Handle |
Removes an object from all groups it's part of. | Iris/ReplicationSystem/ReplicationSystem.h | |
void RemoveFromGroup
(
FNetObjectGroupHandle GroupHandle, |
Removes an object from a group. | Iris/ReplicationSystem/ReplicationSystem.h | |
void RemoveGroupFilter
(
FNetObjectGroupHandle GroupHandle |
Remove group from filtering system, canceling all effects of the group. | Iris/ReplicationSystem/ReplicationSystem.h | |
void RemoveSubObjectFilter
(
FName GroupName |
Remove group from filtering system, will cancel effects of the group. | Iris/ReplicationSystem/ReplicationSystem.h | |
void ReportErrorWithNetRefHandle
(
UE::Net::ENetRefHandleError ErrorType, |
Called when a connection reports a critical error with a netrefhandle object | Iris/ReplicationSystem/ReplicationSystem.h | |
void ReportProtocolMismatch
(
uint64 NetRefHandleId, |
Called when a connection finds a protocol divergence when instantiating a replicated object. | Iris/ReplicationSystem/ReplicationSystem.h | |
void ResetNetMetrics() |
Reset cached accumulated metrics | Iris/ReplicationSystem/ReplicationSystem.h | |
void ResetRPCSendPolicyFlags() |
Resets all set RPCSendPolicy flags | Iris/ReplicationSystem/ReplicationSystem.h | |
| Unicast an RPC targeting a object/subobject. | Iris/ReplicationSystem/ReplicationSystem.h | ||
| Multicast an RPC targeting a object/subobject. | Iris/ReplicationSystem/ReplicationSystem.h | ||
void SendUpdate
(
TFunctionRef< void(TArrayView< uint32 >)> SendFunction |
SendUpdate is currently more of a placeholder for a future where the ReplicationSystem itself is responsible for the low level protocol and sending, rather than having the DataStreamChannel write data when ticked | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetConnectionGracefullyClosing
(
uint32 ConnectionId |
Sets a connection as gracefully closing, where it will flush all pending reliable data before completely shutting down. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetConnectionUserData
(
uint32 ConnectionId, |
Associate data with a connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetCullDistanceOverride
(
FNetRefHandle Handle, |
Set the cull distance for an object temporarily instead of the default cull distance value associated with the object (ex: | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetDeltaCompressionStatus
(
FNetRefHandle Handle, |
Set whether the object allows delta compression when serializing. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool SetFilter
(
FNetRefHandle Handle, |
Sets a filter for a replicated object which will be used until the next call to SetFilter. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetGroupFilterStatus
(
FNetObjectGroupHandle GroupHandle, |
Set status of GroupFilter for specific connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetGroupFilterStatus
(
FNetObjectGroupHandle GroupHandle, |
Set status of GroupFilter for all connections. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetGroupFilterStatus
(
FNetObjectGroupHandle GroupHandle, |
Set status of GroupFilter for connection marked in the Connections BitArray to the passed ReplicationStatus, Connections not marked in the BitArray will be set to the opposite status. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetIsNetTemporary
(
FNetRefHandle Handle |
Mark an object as a net temporary. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetOwningNetConnection
(
FNetRefHandle Handle, |
Sets the owning connection of an object. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool SetPrioritizer
(
FNetRefHandle Handle, |
Sets a prioritizer for a replicated object which will be used until the next call to SetPrioritizer or SetStaticPriority. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool SetReplicationCondition
(
FNetRefHandle Handle, |
Enable or disable a replication condition for all connections. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool SetReplicationConditionConnectionFilter
(
FNetRefHandle Handle, |
Enable or disable a replication condition for a single connection and do the inverse for all other connections. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetReplicationEnabledForConnection
(
uint32 ConnectionId, |
Enable or disable the ReplicationDataStream to transmit data for a particular connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetReplicationView
(
uint32 ConnectionId, |
Set view information for a connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
bool SetRPCSendPolicyFlags
(
const UFunction* Function, |
Set the policy flags for an RPC identified by its function | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetStaticPriority
(
FNetRefHandle Handle, |
Sets a fixed priority for a replicated object which will be used until the next call to SetStaticPriority or SetPrioritizer. | Iris/ReplicationSystem/ReplicationSystem.h | |
void SetSubObjectFilterStatus
(
FName GroupName, |
Set status of GroupFilter for specific connection. | Iris/ReplicationSystem/ReplicationSystem.h | |
void TearOffNextUpdate
(
FNetRefHandle Handle |
Mark an object to be torn off next update. | Iris/ReplicationSystem/ReplicationSystem.h | |
void TickPostReceive () |
Tick replication system after parsing all received data. | Iris/ReplicationSystem/ReplicationSystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void AddReferencedObjects
(
UObject* InThis, |
Iris/ReplicationSystem/ReplicationSystem.h |