UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ReplicationSystemTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
8
9namespace UE::Net
10{
11
13{
15 Allow,
16};
17
19{
20 None,
22};
24
25enum class EReplicationSystemSendPass : unsigned
26{
27 Invalid,
28
29 // Sending data directly after PostDispatch, this is a partial update only, not updating scope and filtering and will only process RPC/Attachmeents
31
32 // Sending data part of TickFlush, this will do a full update and replicate data to all connections
34};
35
37{
38 // Default behavior, dependent object will be scheduled to replicate if parent is replicated, if the dependent object has not yet been replicated it will be replicated in the same batch as the parent
39 Default = 0,
40
41 // Dependent object will be scheduled to replicate before parent is replicated, if the dependent has data to send and has not yet been replicated the parent will only be scheduled if they both fit in same packet
43
44 // Not yet replicated dependent object will behave as ReplicateBeforeParent otherwise it will be scheduled to replicate if the parent is replicated and scheduled after the parent
46};
47
48using FForwardNetRPCCallDelegate = TDelegate<void(UObject* RootObject,UObject* SubObject, UFunction* Function, void* Params)>;
50
52{
53 // Default
54 None = 0,
55
56 // Schedule attachment to use the Out of bounds channel, essentially schedule the attachment to be sent as early as possible. Note: Only valid for unreliable attachments.
57 ScheduleAsOOB = 1U << 0U,
58
59 // Hint that this attachment like to be sent during PostTickDispatch.
60 // If one enqueued attachment has this flag all currently unreliable attachments scheduled to use the OOB channel will be sent during PostTickDispatch.
62
63 // SendImmediate, Attachment should be sent using OOB channel and from PostTickDispatch.
65};
66
68
70{
71 switch (SendFlags)
72 {
74 case ENetObjectAttachmentSendPolicyFlags::ScheduleAsOOB: return TEXT("ScheduleAsOOB");
75 case ENetObjectAttachmentSendPolicyFlags::SendInPostTickDispatch: return TEXT("SendInPostTickDispatch");
76 case ENetObjectAttachmentSendPolicyFlags::SendImmediate: return TEXT("SendImmediate");
77 default: ensure(false); return TEXT("Missing");
78 }
79}
80
82{
83 switch (SchedulingHint)
84 {
85 case EDependentObjectSchedulingHint::Default: return TEXT("Default");
87 case EDependentObjectSchedulingHint::ScheduleBeforeParentIfInitialState: return TEXT("BeforeParentIfInitialState");
88 default: ensure(false); return TEXT("Missing");
89 }
90}
91
92} // end namespace UE::Net
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Class.h:2476
Definition Object.h:95
@ None
Definition ReplicationDataStreamDebug.h:25
Definition NetworkVersion.cpp:28
const TCHAR * LexToString(UE::Net::EStopReplicatingReason Reason)
Definition EngineReplicationBridge.cpp:121
EDependentObjectSchedulingHint
Definition ReplicationSystemTypes.h:37
EReplicationSystemSendPass
Definition ReplicationSystemTypes.h:26
EGetRefHandleFlags
Definition ReplicationSystemTypes.h:19
ENetObjectDeltaCompressionStatus
Definition ReplicationSystemTypes.h:13
ENetObjectAttachmentSendPolicyFlags
Definition ReplicationSystemTypes.h:52