UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UReplicationSystem::FReplicationSystemParams Struct Reference

#include <ReplicationSystem.h>

Public Attributes

UObjectReplicationBridgeReplicationBridge = nullptr
 
uint32 MaxReplicatedObjectCount = 65536U
 
uint32 InitialNetObjectListCount = 65536U
 
uint32 NetObjectListGrowCount = 16384U
 
uint32 PreAllocatedMemoryBuffersObjectCount = 65536U
 
uint32 MaxReplicationWriterObjectCount = 0
 
uint32 MaxDeltaCompressedObjectCount = 2048U
 
uint32 MaxNetObjectGroupCount = 2048U
 
bool bIsServer = false
 
bool bAllowObjectReplication = false
 
bool bUseRemoteObjectReferences = false
 
bool bAllowParallelTasks = false
 
bool bAllowMinimalUpdateIfNoConnections = true
 
UE::Net::FForwardNetRPCCallDelegate ForwardNetRPCCallDelegate
 
UE::Net::FNetTokenStoreNetTokenStore = nullptr
 

Member Data Documentation

◆ bAllowMinimalUpdateIfNoConnections

bool UReplicationSystem::FReplicationSystemParams::bAllowMinimalUpdateIfNoConnections = true

If true we will only do a minimal update if there are no valid connections

◆ bAllowObjectReplication

bool UReplicationSystem::FReplicationSystemParams::bAllowObjectReplication = false

When true enable netobject subsystems like: property replication, filtering, prioritization, deltacompression, dirtytracking, etc. Generally false on clients or on lightweight RPC-only systems.

◆ bAllowParallelTasks

bool UReplicationSystem::FReplicationSystemParams::bAllowParallelTasks = false

When true, allow subsystems to run parallel workloads, such as the PollAndCopy step running several asynchronous tasks to speed up game thread execution time. Only supported when bIsServer = true and bAllowObjectReplication = true

◆ bIsServer

bool UReplicationSystem::FReplicationSystemParams::bIsServer = false

Is this replication system owned by a server or a client.

◆ bUseRemoteObjectReferences

bool UReplicationSystem::FReplicationSystemParams::bUseRemoteObjectReferences = false

When using remote objects with UE_WITH_REMOTE_OBJECT_HANDLE, determines whether or not TObjectPtr or TWeakObjectPtr properties are serialized as FRemoteObjectReferences

◆ ForwardNetRPCCallDelegate

UE::Net::FForwardNetRPCCallDelegate UReplicationSystem::FReplicationSystemParams::ForwardNetRPCCallDelegate

Delegate that receives every RPC executed locally.

◆ InitialNetObjectListCount

uint32 UReplicationSystem::FReplicationSystemParams::InitialNetObjectListCount = 65536U

The default allocated size for lists referencing NetObjects by their internal index (NetBitArray or TArray). Use 0 to preallocate for all possible replicated objects and never reallocate the lists. Setting a value smaller than Max minimizes the memory footprint of the replication system when few replicated objects are registered. The downside is you have to pay a CPU hit when the initial list size is met.

◆ MaxDeltaCompressedObjectCount

uint32 UReplicationSystem::FReplicationSystemParams::MaxDeltaCompressedObjectCount = 2048U

The maximum amount of netobjects that can be added to the delta compression manager

◆ MaxNetObjectGroupCount

uint32 UReplicationSystem::FReplicationSystemParams::MaxNetObjectGroupCount = 2048U

The maximum amount of filter groups that can be created.

See also
UReplicationSystem::CreateGroup

◆ MaxReplicatedObjectCount

uint32 UReplicationSystem::FReplicationSystemParams::MaxReplicatedObjectCount = 65536U

The maximum amount of netobjects that can be registered to the replication system Note that this variable is automatically rounded up to a multiple of 32 so that all available bits in the NetBitArray storage type are used.

◆ MaxReplicationWriterObjectCount

uint32 UReplicationSystem::FReplicationSystemParams::MaxReplicationWriterObjectCount = 0

The maximum amount of netobjects that can replicate properties to remote connection. Can be much lower on clients where very few netobjects have authority and support property replication (often just 1 player controller) When set to 0 it will follow the MaxReplicatedObjectCount and InitialNetObjectListCount limits

◆ NetObjectListGrowCount

uint32 UReplicationSystem::FReplicationSystemParams::NetObjectListGrowCount = 16384U

The amount by which we increase the size of every NetObjectList (NetBitArray and TArray) when we hit the initial amount. Use a small value if you want to keep the memory footprint of the system to a minimum. But be aware that increasing the NetObjectList's is costly and may increase memory fragmentation so you'll want to do pay the reallocation cost as little as possible. Note that this variable is automatically rounded up to a multiple of 32 so that all available bits in the NetBitArray storage type are used.

◆ NetTokenStore

UE::Net::FNetTokenStore* UReplicationSystem::FReplicationSystemParams::NetTokenStore = nullptr

NetTokenStore

◆ PreAllocatedMemoryBuffersObjectCount

uint32 UReplicationSystem::FReplicationSystemParams::PreAllocatedMemoryBuffersObjectCount = 65536U

The amount of netobjects to preallocate internal memory buffers for (NetChunkedArray types). These arrays hold the biggest memory blocks in the replication system and can grow independently of the NetObjectLists. Using a large amount of preallocated memory provides faster cache-friendly CPU operations but has the downside of holding into much more memory than might actually be needed. Reduce this value if you are operating on a memory constrained platform.

◆ ReplicationBridge

UObjectReplicationBridge* UReplicationSystem::FReplicationSystemParams::ReplicationBridge = nullptr

The replication bridge that allows communication between the replication system and the game engine


The documentation for this struct was generated from the following file: