UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ReplicationSystemUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5// HEADER_UNIT_SKIP - Can't find includes if UE_WITH_IRIS is not set
6
7
10#include "Engine/EngineTypes.h"
11
12class AActor;
13class UActorComponent;
14class UEngine;
16class UObject;
18class UWorld;
19class UNetConnection;
20class UNetDriver;
22
25
26namespace UE::Net
27{
29}
30
31namespace UE::Net
32{
33
34// Helper methods to interact with ReplicationSystem from engine code
36{
38 enum class EType : uint8
39 {
40 Any,
41 Client,
42 Server,
43 };
44
47
50
53
59
65
71
74
77
80
83
86
89
92
95
98
101
104
106 ENGINE_API static void StartReplicatingActorComponent(const AActor* Actor, UActorComponent* ActorComponent);
107
110
112 ENGINE_API static void StartReplicatingActorSubObject(const AActor* Actor, UObject* SubObject, ELifetimeCondition NetCondition);
113
115 ENGINE_API static void StopReplicatingActorSubObject(const AActor* Actor, UObject* SubObject);
116
118 ENGINE_API static void StartReplicatingActorComponentSubObject(UActorComponent* ActorComponent, UObject* SubObject, ELifetimeCondition Condition);
119
121 ENGINE_API static void StopReplicatingActorComponentSubObject(UActorComponent* ActorComponent, UObject* SubObject);
122
128 ENGINE_API static void SetNetConditionForActorSubObject(const AActor* Actor, UObject* SubObject, ELifetimeCondition NetCondition);
129
135 ENGINE_API static void SetNetConditionForActorComponent(const UActorComponent* SubObject, ELifetimeCondition Condition);
136
138 ENGINE_API static void UpdateSubObjectGroupMemberships(const UObject* SubObject, const UWorld* World);
139
142
145
152
154
157
160
163
165 ENGINE_API static void FlushNetDormancy(UReplicationSystem* ReplicationSystem, AActor* Actor, bool bWasDormInitial);
166
169
174 ENGINE_API static void SetStaticPriority(const AActor* Actor, float Priority);
175
177 ENGINE_API static void SetCullDistanceOverride(const AActor* Actor, float CullDistSqr);
178
181
183 ENGINE_API static void SetPollFrequency(const UObject* Object, float PollFrequency);
184};
185
186}
187
ELifetimeCondition
Definition CoreNetTypes.h:20
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ENetDormancy
Definition EngineTypes.h:3361
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Actor.h:257
Definition PlayerController.h:261
Definition Engine.Build.cs:7
Definition NameTypes.h:617
Definition RepChangedPropertyTracker.h:23
Definition AssetRegistryState.h:50
Definition ActorComponent.h:152
Definition NetHandle.h:32
Definition EngineReplicationBridge.h:87
Definition Engine.h:711
Definition NetConnection.h:284
Definition NetDriver.h:799
Definition Object.h:95
Definition ReplicationSystem.h:70
Definition World.h:918
Definition NetworkVersion.cpp:28
EDependentObjectSchedulingHint
Definition ReplicationSystemTypes.h:37
EReplicationCondition
Definition ReplicationCondition.h:12
Definition EngineReplicationBridge.h:48
Definition EngineReplicationBridge.h:76
Definition ReplicationSystemUtil.h:36
static ENGINE_API void SetNetConditionForActorSubObject(const AActor *Actor, UObject *SubObject, ELifetimeCondition NetCondition)
Definition ReplicationSystemUtil.cpp:514
static ENGINE_API void SetPollFrequency(const UObject *Object, float PollFrequency)
Definition ReplicationSystemUtil.cpp:897
static ENGINE_API void NotifyActorDormancyChange(UReplicationSystem *ReplicationSystem, AActor *Actor, ENetDormancy OldDormancyState)
Definition ReplicationSystemUtil.cpp:681
static ENGINE_API UEngineReplicationBridge * GetEngineReplicationBridge(const UWorld *World)
Definition ReplicationSystemUtil.cpp:274
static ENGINE_API void RemoveSubObjectGroupMembership(const APlayerController *PC, const FName NetGroup)
Definition ReplicationSystemUtil.cpp:773
static ENGINE_API void ClearCullDistanceOverride(const AActor *Actor)
Definition ReplicationSystemUtil.cpp:873
static ENGINE_API void StartReplicatingActor(AActor *Actor)
Definition ReplicationSystemUtil.cpp:285
static ENGINE_API void StartReplicatingActorComponentSubObject(UActorComponent *ActorComponent, UObject *SubObject, ELifetimeCondition Condition)
Definition ReplicationSystemUtil.cpp:433
static ENGINE_API void SetNetConditionForActorComponent(const UActorComponent *SubObject, ELifetimeCondition Condition)
Definition ReplicationSystemUtil.cpp:631
static ENGINE_API void StartReplicatingActorSubObject(const AActor *Actor, UObject *SubObject, ELifetimeCondition NetCondition)
Definition ReplicationSystemUtil.cpp:395
static ENGINE_API void ForEachBridge(const UWorld *World, TFunctionRef< void(UEngineReplicationBridge *)> Function, EType Type=EType::Any)
Definition ReplicationSystemUtil.cpp:67
EType
Definition ReplicationSystemUtil.h:39
static ENGINE_API void StopReplicatingActor(AActor *Actor, const FStopReplicatingActorParams &StopReplicatingActorParams)
Definition ReplicationSystemUtil.cpp:321
static ENGINE_API void StartReplicatingActorComponent(const AActor *Actor, UActorComponent *ActorComponent)
Definition ReplicationSystemUtil.cpp:349
static ENGINE_API void ForEachSystemAndBridge(const UWorld *World, TFunctionRef< void(UReplicationSystem *, UEngineReplicationBridge *)> Function, EType Type=EType::Any)
Definition ReplicationSystemUtil.cpp:154
static ENGINE_API void StopReplicatingActorComponent(UActorComponent *SubObject)
Definition ReplicationSystemUtil.cpp:475
static ENGINE_API void SetCullDistanceOverride(const AActor *Actor, float CullDistSqr)
Definition ReplicationSystemUtil.cpp:849
static ENGINE_API void SetReplicationCondition(FNetHandle NetHandle, EReplicationCondition Condition, bool bEnableCondition)
Definition ReplicationSystemUtil.cpp:810
static void ForEachServerSystemAndBridge(const UWorld *World, TFunctionRef< void(UReplicationSystem *, UEngineReplicationBridge *Bridge)> Function)
Definition ReplicationSystemUtil.h:67
static ENGINE_API void RemoveDependentActor(const AActor *Parent, AActor *Child)
Definition ReplicationSystemUtil.cpp:598
static ENGINE_API FNetHandle GetNetHandle(const UObject *ReplicatedObject)
Definition ReplicationSystemUtil.cpp:280
static void ForEachServerSystem(const UWorld *World, TFunctionRef< void(UReplicationSystem *)> Function)
Definition ReplicationSystemUtil.h:61
static ENGINE_API void SetStaticPriority(const AActor *Actor, float Priority)
Definition ReplicationSystemUtil.cpp:828
static ENGINE_API void StartReplicatingActorsInWorldForNetDriver(UWorld *World, UNetDriver *NetDriver)
Definition ReplicationSystemUtil.cpp:664
static ENGINE_API void UpdateSubObjectGroupMemberships(const UObject *SubObject, const UWorld *World)
Definition ReplicationSystemUtil.cpp:747
static ENGINE_API void AddDependentActor(const AActor *Parent, AActor *Child, EDependentObjectSchedulingHint SchedulingHint)
Definition ReplicationSystemUtil.cpp:551
static ENGINE_API void FlushNetDormancy(UReplicationSystem *ReplicationSystem, AActor *Actor, bool bWasDormInitial)
Definition ReplicationSystemUtil.cpp:701
static ENGINE_API UEngineReplicationBridge * GetActorReplicationBridge(const AActor *Actor)
Definition ReplicationSystemUtil.cpp:249
static ENGINE_API void ForEachSystem(const UWorld *World, TFunctionRef< void(UReplicationSystem *)> Function, EType Type=EType::Any)
Definition ReplicationSystemUtil.cpp:112
static ENGINE_API UReplicationSystem * GetReplicationSystem(const AActor *Actor)
Definition ReplicationSystemUtil.cpp:232
static ENGINE_API void ForEachReplicationSystem(const UEngine *Engine, const UWorld *World, TFunctionRef< void(UReplicationSystem *)> Function)
Definition ReplicationSystemUtil.cpp:199
static ENGINE_API void StopReplicatingActorComponentSubObject(UActorComponent *ActorComponent, UObject *SubObject)
Definition ReplicationSystemUtil.cpp:546
static void ForEachServerBridge(const UWorld *World, TFunctionRef< void(UEngineReplicationBridge *)> Function)
Definition ReplicationSystemUtil.h:55
static ENGINE_API void StopReplicatingActorSubObject(const AActor *Actor, UObject *SubObject)
Definition ReplicationSystemUtil.cpp:502