UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Net::FArrayPropertyNetSerializer Struct Reference

Classes

struct  FQuantizedType
 

Public Types

typedef FScriptArray SourceType
 
typedef FQuantizedType QuantizedType
 
typedef FArrayPropertyNetSerializerConfig ConfigType
 

Static Public Member Functions

static void Serialize (FNetSerializationContext &, const FNetSerializeArgs &Args)
 
static void Deserialize (FNetSerializationContext &, const FNetDeserializeArgs &Args)
 
static void SerializeDelta (FNetSerializationContext &, const FNetSerializeDeltaArgs &Args)
 
static void DeserializeDelta (FNetSerializationContext &, const FNetDeserializeDeltaArgs &Args)
 
static void Quantize (FNetSerializationContext &, const FNetQuantizeArgs &Args)
 
static void Dequantize (FNetSerializationContext &, const FNetDequantizeArgs &Args)
 
static bool IsEqual (FNetSerializationContext &, const FNetIsEqualArgs &Args)
 
static bool Validate (FNetSerializationContext &, const FNetValidateArgs &Args)
 
static void CloneDynamicState (FNetSerializationContext &, const FNetCloneDynamicStateArgs &)
 
static void FreeDynamicState (FNetSerializationContext &, const FNetFreeDynamicStateArgs &)
 
static void CollectNetReferences (FNetSerializationContext &, const FNetCollectReferencesArgs &)
 

Static Public Attributes

static const uint32 Version = 0
 
static constexpr bool bIsForwardingSerializer = true
 
static constexpr bool bHasDynamicState = true
 

Member Typedef Documentation

◆ ConfigType

◆ QuantizedType

◆ SourceType

Member Function Documentation

◆ CloneDynamicState()

void UE::Net::FArrayPropertyNetSerializer::CloneDynamicState ( FNetSerializationContext Context,
const FNetCloneDynamicStateArgs Args 
)
static

◆ CollectNetReferences()

void UE::Net::FArrayPropertyNetSerializer::CollectNetReferences ( FNetSerializationContext Context,
const FNetCollectReferencesArgs Args 
)
static

◆ Dequantize()

void UE::Net::FArrayPropertyNetSerializer::Dequantize ( FNetSerializationContext Context,
const FNetDequantizeArgs Args 
)
static

◆ Deserialize()

void UE::Net::FArrayPropertyNetSerializer::Deserialize ( FNetSerializationContext Context,
const FNetDeserializeArgs Args 
)
static

◆ DeserializeDelta()

void UE::Net::FArrayPropertyNetSerializer::DeserializeDelta ( FNetSerializationContext Context,
const FNetDeserializeDeltaArgs Args 
)
static

◆ FreeDynamicState()

void UE::Net::FArrayPropertyNetSerializer::FreeDynamicState ( FNetSerializationContext Context,
const FNetFreeDynamicStateArgs Args 
)
static

◆ IsEqual()

bool UE::Net::FArrayPropertyNetSerializer::IsEqual ( FNetSerializationContext Context,
const FNetIsEqualArgs Args 
)
static

◆ Quantize()

void UE::Net::FArrayPropertyNetSerializer::Quantize ( FNetSerializationContext Context,
const FNetQuantizeArgs Args 
)
static

◆ Serialize()

void UE::Net::FArrayPropertyNetSerializer::Serialize ( FNetSerializationContext Context,
const FNetSerializeArgs Args 
)
static

◆ SerializeDelta()

void UE::Net::FArrayPropertyNetSerializer::SerializeDelta ( FNetSerializationContext Context,
const FNetSerializeDeltaArgs Args 
)
static

The below implementation assumes we wouldn't get the call unless the array had changed in the first place. That is why we don't have an expensive IsEqual check as we expect the arrays to never or rarely be equal. The actual delta compression just relies on the per element delta compressions. While this is naive approach this serializer is only used in backwards compatibility mode. We might want to support something like directed delta based on longest common subsequence. It can be costly to calculate the LCS since it needs to be done in the SerializeDelta call. So LCS should probably not be enabled by default. In a perfect world the serialization can be shared across many connections.

◆ Validate()

bool UE::Net::FArrayPropertyNetSerializer::Validate ( FNetSerializationContext Context,
const FNetValidateArgs Args 
)
static

Member Data Documentation

◆ bHasDynamicState

constexpr bool UE::Net::FArrayPropertyNetSerializer::bHasDynamicState = true
staticconstexpr

◆ bIsForwardingSerializer

constexpr bool UE::Net::FArrayPropertyNetSerializer::bIsForwardingSerializer = true
staticconstexpr

◆ Version

const uint32 UE::Net::FArrayPropertyNetSerializer::Version = 0
static

The documentation for this struct was generated from the following file: