UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RepLayout.h File Reference

Go to the source code of this file.

Classes

struct  UE_RepLayout_Private::TRepDataBufferBase< DataType, ConstOrNotType >
 
struct  FRepSharedPropertyKey
 
struct  FRepSerializedPropertyInfo
 
struct  FRepSerializationSharedInfo
 
class  FRepChangedHistory
 
struct  FRepStateStaticBuffer
 
class  FRepChangelistState
 
class  FReplicationChangelistMgr
 
class  FReceivingRepState
 
class  FSendingRepState
 
class  FRepState
 
class  FRepParentCmd
 
class  FRepLayoutCmd
 
class  FHandleToCmdIndex
 
class  FChangelistIterator
 
class  FRepHandleIterator
 
class  FRepLayout
 

Namespaces

namespace  UE_RepLayout_Private
 
namespace  UE
 
namespace  UE::Net
 

Typedefs

template<ERepDataBufferType DataType>
using TRepDataBuffer = UE_RepLayout_Private::TRepDataBufferBase< DataType, uint8 >
 
template<ERepDataBufferType DataType>
using TConstRepDataBuffer = UE_RepLayout_Private::TRepDataBufferBase< DataType, const uint8 >
 
typedef TRepDataBuffer< ERepDataBufferType::ObjectBufferFRepObjectDataBuffer
 
typedef TRepDataBuffer< ERepDataBufferType::ShadowBufferFRepShadowDataBuffer
 
typedef TConstRepDataBuffer< ERepDataBufferType::ObjectBufferFConstRepObjectDataBuffer
 
typedef TConstRepDataBuffer< ERepDataBufferType::ShadowBufferFConstRepShadowDataBuffer
 

Enumerations

enum class  EDiffPropertiesFlags : uint32 { None = 0 , Sync = (1 << 0) , IncludeConditionalProperties = (1 << 1) }
 
enum class  EReceivePropertiesFlags : uint32 { None = 0 , RepNotifies = (1 << 0) , SkipRoleSwap = (1 << 1) }
 
enum class  ESerializePropertyType : uint8 { Handle , Name }
 
enum class  ERepDataBufferType { ObjectBuffer , ShadowBuffer }
 
enum class  ECreateRepStateFlags : uint32 { None , SkipCreateReceivingState = 0x1 }
 
enum class  ERepLayoutCmdType : uint8 {
  DynamicArray = 0 , Return = 1 , Property = 2 , PropertyBool = 3 ,
  PropertyFloat = 4 , PropertyInt = 5 , PropertyByte = 6 , PropertyName = 7 ,
  PropertyObject = 8 , PropertyUInt32 = 9 , PropertyVector = 10 , PropertyRotator = 11 ,
  PropertyPlane = 12 , PropertyVector100 = 13 , PropertyNetId = 14 , RepMovement = 15 ,
  PropertyVectorNormal = 16 , PropertyVector10 = 17 , PropertyVectorQ = 18 , PropertyString = 19 ,
  PropertyUInt64 = 20 , PropertyNativeBool = 21 , PropertySoftObject = 22 , PropertyWeakObject = 23 ,
  PropertyInterface = 24 , NetSerializeStructWithObjectReferences = 25
}
 
enum class  ERepParentFlags : uint32 {
  None = 0 , IsLifetime = (1 << 0) , IsConditional = (1 << 1) , IsConfig = (1 << 2) ,
  IsCustomDelta = (1 << 3) , IsNetSerialize = (1 << 4) , IsStructProperty = (1 << 5) , IsZeroConstructible = (1 << 6) ,
  IsFastArray = (1 << 7) , HasObjectProperties = (1 << 8) , HasNetSerializeProperties = (1 << 9) , HasDynamicArrayProperties = (1 << 10)
}
 
enum class  ERepLayoutCmdFlags : uint8 { None = 0 , IsSharedSerialization = (1 << 0) , IsStruct = (1 << 1) , IsEmptyArrayStruct = (1 << 2) }
 
enum class  ECreateReplicationChangelistMgrFlags { None , SkipDeltaCustomState }
 
enum class  ECreateRepLayoutFlags { None , MaySendProperties }
 
enum class  ERepLayoutFlags : uint8 {
  None = 0 , IsActor = (1 << 0) , PartialPushSupport = (1 << 1) , FullPushSupport = (1 << 2) ,
  HasObjectOrNetSerializeProperties = (1 << 3) , NoReplicatedProperties = (1 << 4) , FullPushProperties = (1 << 5) , HasInitialOnlyProperties = (1 << 6) ,
  HasDynamicConditionProperties = (1 << 7)
}
 
enum class  ERepLayoutResult { Success , Empty , Error , FatalError }
 

Functions

 ENUM_CLASS_FLAGS (EDiffPropertiesFlags)
 
 ENUM_CLASS_FLAGS (EReceivePropertiesFlags)
 
TStaticBitArray< COND_MaxUE::Net::BuildConditionMapFromRepFlags (const FReplicationFlags &RepFlags)
 
 ENUM_CLASS_FLAGS (ECreateRepStateFlags)
 
const TCHARLexToString (ERepLayoutCmdType CmdType)
 
 ENUM_CLASS_FLAGS (ECreateReplicationChangelistMgrFlags)
 
 ENUM_CLASS_FLAGS (ECreateRepLayoutFlags)
 
 ENUM_CLASS_FLAGS (ERepLayoutFlags)
 
const TCHARLexToString (ERepLayoutFlags Flag)
 

Typedef Documentation

◆ FConstRepObjectDataBuffer

◆ FConstRepShadowDataBuffer

◆ FRepObjectDataBuffer

◆ FRepShadowDataBuffer

◆ TConstRepDataBuffer

◆ TRepDataBuffer

Enumeration Type Documentation

◆ ECreateRepLayoutFlags

Enumerator
None 
MaySendProperties 

◆ ECreateReplicationChangelistMgrFlags

Enumerator
None 
SkipDeltaCustomState 

◆ ECreateRepStateFlags

Flags used to customize how RepStates are created.

See also
FRepLayout::CreateRepState.
Enumerator
None 
SkipCreateReceivingState 

◆ EDiffPropertiesFlags

Enumerator
None 
Sync 
IncludeConditionalProperties 

Indicates that properties should be updated (synchronized), not just diffed.

◆ EReceivePropertiesFlags

Enumerator
None 
RepNotifies 
SkipRoleSwap 

Whether or not RepNotifies will be fired due to changed properties.

◆ ERepDataBufferType

enum class ERepDataBufferType
strong
Enumerator
ObjectBuffer 
ShadowBuffer 

Indicates this buffer is a full object's memory.

Indicates this buffer is a packed shadow buffer.

◆ ERepLayoutCmdFlags

enum class ERepLayoutCmdFlags : uint8
strong

Various flags that describe how a Property should be handled.

Enumerator
None 
IsSharedSerialization 

No flags.

IsStruct 

Indicates the property is eligible for shared serialization.

IsEmptyArrayStruct 

This is a struct property.

◆ ERepLayoutCmdType

enum class ERepLayoutCmdType : uint8
strong

Various types of Properties supported for Replication.

Enumerator
DynamicArray 
Return 

Dynamic array.

Property 

Return from array, or end of stream.

PropertyBool 

Generic property.

PropertyFloat 
PropertyInt 
PropertyByte 
PropertyName 
PropertyObject 
PropertyUInt32 
PropertyVector 
PropertyRotator 
PropertyPlane 
PropertyVector100 
PropertyNetId 
RepMovement 
PropertyVectorNormal 
PropertyVector10 
PropertyVectorQ 
PropertyString 
PropertyUInt64 
PropertyNativeBool 
PropertySoftObject 
PropertyWeakObject 
PropertyInterface 
NetSerializeStructWithObjectReferences 

◆ ERepLayoutFlags

enum class ERepLayoutFlags : uint8
strong
Enumerator
None 
IsActor 
PartialPushSupport 

This RepLayout is for AActor or a subclass of AActor.

FullPushSupport 

This RepLayout has some properties that use Push Model and some that don't.

HasObjectOrNetSerializeProperties 

All properties and fast arrays in this RepLayout use Push Model.

NoReplicatedProperties 

Will be set for any RepLayout that contains Object or Net Serialize property commands.

FullPushProperties 

Will be set if the RepLayout has no lifetime properties, or they are all disabled.

HasInitialOnlyProperties 

All properties in this RepLayout use Push Model.

HasDynamicConditionProperties 

There is at least 1 Initial Only Lifetime property on this RepLayout.

◆ ERepLayoutResult

enum class ERepLayoutResult
strong
Enumerator
Success 
Empty 
Error 
FatalError 

◆ ERepParentFlags

enum class ERepParentFlags : uint32
strong

Various flags that describe how a Top Level Property should be handled.

Enumerator
None 
IsLifetime 
IsConditional 

This property is valid for the lifetime of the object (almost always set).

IsConfig 

This property has a secondary condition to check.

IsCustomDelta 

This property is defaulted from a config file.

IsNetSerialize 

This property uses custom delta compression. Mutually exclusive with IsNetSerialize.

IsStructProperty 

This property uses a custom net serializer. Mutually exclusive with IsCustomDelta.

IsZeroConstructible 

This property is a FStructProperty.

IsFastArray 

This property is ZeroConstructible.

HasObjectProperties 

This property is a FastArraySerializer. This can't be a ERepLayoutCmdType, because these Custom Delta structs will have their inner properties tracked.

HasNetSerializeProperties 

This property is tracking UObjects (may be through nested properties).

HasDynamicArrayProperties 

This property contains Net Serialize properties (may be through nested properties).

◆ ESerializePropertyType

Enumerator
Handle 
Name 

Function Documentation

◆ ENUM_CLASS_FLAGS() [1/6]

ENUM_CLASS_FLAGS ( ECreateRepLayoutFlags  )

◆ ENUM_CLASS_FLAGS() [2/6]

ENUM_CLASS_FLAGS ( ECreateReplicationChangelistMgrFlags  )

◆ ENUM_CLASS_FLAGS() [3/6]

ENUM_CLASS_FLAGS ( ECreateRepStateFlags  )

◆ ENUM_CLASS_FLAGS() [4/6]

ENUM_CLASS_FLAGS ( EDiffPropertiesFlags  )

◆ ENUM_CLASS_FLAGS() [5/6]

ENUM_CLASS_FLAGS ( EReceivePropertiesFlags  )

◆ ENUM_CLASS_FLAGS() [6/6]

ENUM_CLASS_FLAGS ( ERepLayoutFlags  )

◆ LexToString() [1/2]

const TCHAR * LexToString ( ERepLayoutCmdType  CmdType)

◆ LexToString() [2/2]

const TCHAR * LexToString ( ERepLayoutFlags  Flag)