UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FastArraySerializer.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Class.h"
#include "Serialization/BitReader.h"
#include "Misc/NetworkGuid.h"
#include "UObject/CoreNet.h"
#include "Containers/ArrayView.h"
#include "Net/Core/Misc/GuidReferences.h"
#include "Net/Core/PushModel/PushModel.h"
#include "Net/Core/NetCoreModule.h"
#include "HAL/IConsoleManager.h"
#include "Templates/EnableIf.h"
#include "ProfilingDebugging/CsvProfiler.h"
#include "FastArraySerializer.generated.h"

Go to the source code of this file.

Classes

class  TFastArrayTypeHelper< FastArrayType >
 
class  FNetFastTArrayBaseState
 
struct  FFastArraySerializerItem
 
struct  FFastArraySerializerGuidReferences
 
struct  FFastArraySerializer_FastArrayDeltaSerialize_FIdxIDPair
 
struct  FFastArraySerializer
 
struct  FFastArraySerializer::FPostReplicatedReceiveParameters
 
struct  FFastArraySerializer::CPostReplicatedReceiveFuncable
 
struct  FFastArrayDeltaSerializeParams
 

Macros

#define UE_FAST_ARRAY_COMPILE_LOG_LEVEL   All
 
#define UE_FAST_ARRAY_RUNTIME_LOG_LEVEL   Warning
 
#define UE_NET_DECLARE_FASTARRAY(FastArrayType, FastArrayItemArrayMemberName, Api)   static constexpr auto GetFastArrayItemTypePtr() { return static_cast<decltype(FastArrayType::FastArrayItemArrayMemberName)::ElementType*>(nullptr); };;
 

Enumerations

enum class  EFastArraySerializerDeltaFlags : uint8 { None , HasBeenSerialized = 1 << 0 , HasDeltaBeenRequested = 1 << 1 , IsUsingDeltaSerialization = 1 << 2 }
 

Functions

NETCORE_API DECLARE_LOG_CATEGORY_EXTERN (LogNetFastTArray, UE_FAST_ARRAY_RUNTIME_LOG_LEVEL, UE_FAST_ARRAY_COMPILE_LOG_LEVEL)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("NetSerializeFast Array"), STAT_NetSerializeFastArray, STATGROUP_ServerCPU, NETCORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("NetSerializeFast Array BuildMap"), STAT_NetSerializeFastArray_BuildMap, STATGROUP_ServerCPU, NETCORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("NetSerializeFast Array Delta Struct"), STAT_NetSerializeFastArray_DeltaStruct, STATGROUP_ServerCPU, NETCORE_API)
 
 CSV_DECLARE_CATEGORY_MODULE_EXTERN (NETCORE_API, Networking)
 
 ENUM_CLASS_FLAGS (EFastArraySerializerDeltaFlags)
 

Macro Definition Documentation

◆ UE_FAST_ARRAY_COMPILE_LOG_LEVEL

#define UE_FAST_ARRAY_COMPILE_LOG_LEVEL   All

◆ UE_FAST_ARRAY_RUNTIME_LOG_LEVEL

#define UE_FAST_ARRAY_RUNTIME_LOG_LEVEL   Warning

◆ UE_NET_DECLARE_FASTARRAY

#define UE_NET_DECLARE_FASTARRAY (   FastArrayType,
  FastArrayItemArrayMemberName,
  Api 
)    static constexpr auto GetFastArrayItemTypePtr() { return static_cast<decltype(FastArrayType::FastArrayItemArrayMemberName)::ElementType*>(nullptr); };;

Macro injected from UHT to facilitate automatic registration of FastArraySerializers when using iris replication

Enumeration Type Documentation

◆ EFastArraySerializerDeltaFlags

Enumerator
None 
HasBeenSerialized 

No flags.

HasDeltaBeenRequested 

Set when serialization at least once (i.e., this struct has been written or read).

IsUsingDeltaSerialization 

Set if users requested Delta Serialization for this struct.

Function Documentation

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN()

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( NETCORE_API  ,
Networking   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [1/3]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("NetSerializeFast Array BuildMap" ,
STAT_NetSerializeFastArray_BuildMap  ,
STATGROUP_ServerCPU  ,
NETCORE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/3]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("NetSerializeFast Array Delta Struct" ,
STAT_NetSerializeFastArray_DeltaStruct  ,
STATGROUP_ServerCPU  ,
NETCORE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/3]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("NetSerializeFast Array" ,
STAT_NetSerializeFastArray  ,
STATGROUP_ServerCPU  ,
NETCORE_API   
)

◆ DECLARE_LOG_CATEGORY_EXTERN()

◆ ENUM_CLASS_FLAGS()

ENUM_CLASS_FLAGS ( EFastArraySerializerDeltaFlags  )