Navigation
API > API/Plugins > API/Plugins/ReplicationGraph
Manages actor replication for an entire world / net driver
| Name | UReplicationGraph |
| Type | class |
| Header File | /Engine/Plugins/Runtime/ReplicationGraph/Source/Public/ReplicationGraph.h |
| Include Path | #include "ReplicationGraph.h" |
Syntax
UCLASS (MinimalAPI, Transient, Config=Engine)
class UReplicationGraph : public UReplicationDriver
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UReplicationDriver → UReplicationGraph
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UReplicationGraph() |
ReplicationGraph.h |
Structs
| Name | Remarks |
|---|---|
| FFastSharedPathConstants | |
| FFrameReplicationStats | Collects basic stats on the replicated actors |
| FPrioritizationConstants | Prioritization Constants: these affect how the final priority of an actor is calculated in the prioritize phase |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| OnListRequestExceedsPooledSize | TFunction< void(int32)> | Invoked when a rep list is requested that exceeds the size of the preallocated lists | ReplicationGraph.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Connections | TArray< TObjectPtr< UNetReplicationGraphConnection > > | List of connection managers. This list is not sorted and not stable. | ReplicationGraph.h | |
| DestructInfoMaxDistanceSquared | float | The max distance between an FActorDestructionInfo and a connection that we will replicate. | ReplicationGraph.h | |
| FastSharedPathConstants | FFastSharedPathConstants | ReplicationGraph.h | ||
| NetDriver | TObjectPtr< UNetDriver > | ReplicationGraph.h | ||
| PendingConnections | TArray< TObjectPtr< UNetReplicationGraphConnection > > | ConnectionManagers that we have created but haven't officially been added to the net driver's ClientConnection list. | ReplicationGraph.h | |
| PrioritizationConstants | FPrioritizationConstants | ReplicationGraph.h | ||
| ReplicationConnectionManagerClass | TSubclassOf< UNetReplicationGraphConnection > | The per-connection manager class to instantiate. | ReplicationGraph.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActorDiscoveryMaxBitsPerFrame | int32 | Separate bandwidth cap for traffic used when opening actor channels. Ignored if set to 0 | ReplicationGraph.h | |
| bWasConnectionFastPathSaturated | bool | Whether or not all fast shared replication budget has been used during replication. | ReplicationGraph.h | |
| bWasConnectionSaturated | bool | Whether or not a connection was saturated during an update. | ReplicationGraph.h | |
| FrameReplicationStats | FFrameReplicationStats | Collect replication data during ServerReplicateActors | ReplicationGraph.h | |
| HeavyComputationConnectionSelector | int32 | Optimization to update only one connection each frame | ReplicationGraph.h | |
| ReplicationGraphFrame | uint32 | Internal frame counter for replication. | ReplicationGraph.h | |
| TimeLeftUntilUpdate | float | Internal time used to track when the next update should occur based on frequency settings. | ReplicationGraph.h | |
| WorldCleanupDelegateHandle | FDelegateHandle | Delegate to remove all network actors when a world is cleaned up. | ReplicationGraph.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddClientConnection
(
UNetConnection* NetConnection |
Called by the NetDriver when the client connection is ready/added to the NetDriver's client connection list | ReplicationGraph.h | |
void AddConnectionGraphNode
(
UReplicationGraphNode* GraphNode, |
ReplicationGraph.h | ||
void AddConnectionGraphNode
(
UReplicationGraphNode* GraphNode, |
Associate a node to a specific connection. | ReplicationGraph.h | |
void AddGlobalGraphNode
(
UReplicationGraphNode* GraphNode |
Add a global node to the root that will have a chance to emit actor rep lists for all connections | ReplicationGraph.h | |
virtual void AddNetworkActor
(
AActor* Actor |
ReplicationGraph.h | ||
virtual void BeginDestroy() |
ReplicationGraph.h | ||
virtual void CollectRepListStats
(
FActorRepListStatCollector& StatCollector |
ReplicationGraph.h | ||
virtual AReplicationGraphDebugActor * CreateDebugActor() |
ReplicationGraph.h | ||
T * CreateNewNode
(
FName NodeBaseName |
Creates a new node for the graph with a given base name. | ReplicationGraph.h | |
T * CreateNewNode () |
Creates a new node for the graph. | ReplicationGraph.h | |
void DebugPrintCullDistances
(
UNetReplicationGraphConnection* SpecificConnection |
Print the Net Culling Distance of all actors in the RepGraph. | ReplicationGraph.h | |
UNetReplicationGraphConnection * FindConnectionManager
(
UNetConnection* NetConnection |
ReplicationGraph.h | ||
virtual void FlushNetDormancy
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void ForceNetUpdate
(
AActor* Actor |
ReplicationGraph.h | ||
const TSharedPtr< FReplicationGraphGlobalData > & GetGraphGlobals() |
ReplicationGraph.h | ||
uint32 GetReplicationGraphFrame() |
ReplicationGraph.h | ||
uint16 GetReplicationPeriodFrameForFrequency
(
float NetUpdateFrequency |
ReplicationGraph.h | ||
virtual UWorld * GetWorld() |
ReplicationGraph.h | ||
virtual void InitForNetDriver
(
UNetDriver* InNetDriver |
ReplicationGraph.h | ||
virtual void InitializeActorsInWorld
(
UWorld* InWorld |
ReplicationGraph.h | ||
bool IsConnectionReady
(
UNetConnection* Connection |
ReplicationGraph.h | ||
virtual void LogConnectionGraphNodes
(
FReplicationGraphDebugInfo& DebugInfo |
ReplicationGraph.h | ||
virtual void LogGlobalGraphNodes
(
FReplicationGraphDebugInfo& DebugInfo |
ReplicationGraph.h | ||
virtual void LogGraph
(
FReplicationGraphDebugInfo& DebugInfo |
ReplicationGraph.h | ||
virtual void NotifyActorDormancyChange
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void NotifyActorFullyDormantForConnection
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void NotifyActorRenamed
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void NotifyActorTearOff
(
AActor* Actor |
ReplicationGraph.h | ||
void NotifyConnectionFastPathSaturated() |
ReplicationGraph.h | ||
void NotifyConnectionSaturated
(
UNetReplicationGraphConnection& Connection |
ReplicationGraph.h | ||
virtual void NotifyDestructionInfoCreated
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void PostTickDispatch() |
ReplicationGraph.h | ||
virtual void PrintGraphDebugInfo_OnInvalidActor() |
Debugging facility called when invalid actor is being detected on one of many replication paths. | ReplicationGraph.h | |
virtual bool ProcessRemoteFunction
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void RemoveClientConnection
(
UNetConnection* NetConnection |
ReplicationGraph.h | ||
void RemoveConnectionGraphNode
(
UReplicationGraphNode* GraphNode, |
ReplicationGraph.h | ||
void RemoveConnectionGraphNode
(
UReplicationGraphNode* GraphNode, |
ReplicationGraph.h | ||
void RemoveGlobalGraphNode
(
UReplicationGraphNode* GraphNode |
ReplicationGraph.h | ||
virtual void RemoveNetworkActor
(
AActor* Actor |
ReplicationGraph.h | ||
virtual void ReplicateActorsForConnection
(
UNetConnection* NetConnection, |
ReplicationGraph.h | ||
int64 ReplicateSingleActor
(
const FActorRepListType& Actor, |
ReplicationGraph.h | ||
int64 ReplicateSingleActor_FastShared
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void ResetGameWorldState() |
ReplicationGraph.h | ||
virtual void RouteAddNetworkActorToNodes
(
const FNewReplicatedActorInfo& ActorInfo, |
ReplicationGraph.h | ||
virtual void RouteRemoveNetworkActorToNodes
(
const FNewReplicatedActorInfo& ActorInfo |
ReplicationGraph.h | ||
virtual void Serialize
(
FArchive& Ar |
ReplicationGraph.h | ||
virtual int32 ServerReplicateActors
(
float DeltaSeconds |
ReplicationGraph.h | ||
void SetActorDestructionInfoToIgnoreDistanceCulling
(
AActor* DestroyedActor |
ReplicationGraph.h | ||
void SetActorDiscoveryBudget
(
int32 ActorDiscoveryBudgetInKBytesPerSec |
ReplicationGraph.h | ||
void SetAllCullDistanceSettingsForActor
(
const FActorRepListType& Actor, |
Sets the global and connection-specific cull distance setting of this actor | ReplicationGraph.h | |
virtual void SetRepDriverWorld
(
UWorld* InWorld |
ReplicationGraph.h | ||
virtual void SetRoleSwapOnReplicate
(
AActor* Actor, |
ReplicationGraph.h | ||
virtual void TearDown() |
ReplicationGraph.h | ||
void UpdateActorChannelCloseFrameNum
(
AActor* Actor, |
ReplicationGraph.h | ||
void VerifyActorReferences() |
ReplicationGraph.h | ||
virtual void VerifyActorReferencesInternal() |
ReplicationGraph.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddReplayViewers
(
UNetConnection* NetConnection, |
ReplicationGraph.h | ||
UNetReplicationGraphConnection * FindOrAddConnectionManager
(
UNetConnection* NetConnection |
ReplicationGraph.h | ||
void HandleStarvedActorList
(
const FPrioritizedRepList& List, |
ReplicationGraph.h | ||
void HandleStarvedActorList
(
const UNetReplicationGraphConnection& RepGraphConnection, |
Sets the next timeout frame for the actors in the list along with their dependent actors | ReplicationGraph.h | |
virtual void InitConnectionGraphNodes
(
UNetReplicationGraphConnection* ConnectionManager |
Override this function to init/configure graph for a specific connection. | ReplicationGraph.h | |
virtual void InitGlobalActorClassSettings() |
Override this function to initialize the per-class data for replication | ReplicationGraph.h | |
virtual void InitGlobalGraphNodes() |
Override this function to init/configure your project's Global Graph | ReplicationGraph.h | |
virtual void InitializeForWorld
(
UWorld* World |
ReplicationGraph.h | ||
virtual void InitNode
(
UReplicationGraphNode* Node |
ReplicationGraph.h | ||
virtual void PostServerReplicateStats
(
const FFrameReplicationStats& Stats |
Event called after ServerReplicateActors to dispatch the replication stats from this frame | ReplicationGraph.h | |
void ReplicateActorListsForConnections_Default
(
UNetReplicationGraphConnection* ConnectionManager, |
Default Replication Path | ReplicationGraph.h | |
void ReplicateActorListsForConnections_FastShared
(
UNetReplicationGraphConnection* ConnectionManager, |
"FastShared" Replication Path | ReplicationGraph.h | |
virtual void RouteRenameNetworkActorToNodes
(
const FRenamedReplicatedActorInfo& ActorInfo |
Routes a rename/outer change to every global node. | ReplicationGraph.h |