description: Called after the final call to WriteData this frame, allowing the DataStream to cleanup data setup during BeginWrite.

code: virtual void EndWrite()


className: EWriteResult

module: IrisCore

code: enum EWriteResult { NoData, Ok, HasMoreData, }


description: For each packet into which we have written data we are guaranteed to get a call to ProcessPacketDeliveryStatus when it's known whether the packet was delivered or not.

code: virtual void ProcessPacketDeliveryStatus ( [UE::Net::EPacketDeliveryStatus](API\Runtime\IrisCore\Iris\PacketControl\UE__Net__EPacketDeliveryStatus) Status, [FDataStreamRecord](API\Runtime\IrisCore\Iris\DataStream\FDataStreamRecord) const * Record )


description: Deserialize data that was written with WriteData.

code: virtual void ReadData ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


className: UDataStream

description: DataStream is an interface that facilitates implementing the replication of custom data, such as bulky data or data with special delivery guarantees.

code: class UDataStream : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description:
Serialize data to a bitstream and optionally store record of what was serialized to a customFDataStreamRecord. TheFDataStreamRecordallow streams to implement custom delivery guarantees as they see fit by using the stored information when ProcessPacketDeliveryStatus is called. For each WriteData call returning something other than NoData a corresponding call to ProcessPacketDeliveryStatus will be made. TheUDataStreamowns theFDataStreamRecord, but there will always be a call to ProcessPacketDeliveryStatus passing the original OutRecord so that it can be deleted when all packets have been ACKed/NAKed or when the owning connection is closed.
Whether there was data written or not and if the stream has more data to write if bandwidth settings allow it.

code: virtual [EWriteResult](API\Runtime\IrisCore\Iris\DataStream\UDataStream\EWriteResult) WriteData ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FDataStreamRecord](API\Runtime\IrisCore\Iris\DataStream\FDataStreamRecord) const *& OutRecord )


description: Call BeginWrite on all active data streams.


description: UDataStreamDefinitions

code: ECreateDataStreamResult CreateStream ( const [FName](API\Runtime\Core\UObject\FName) StreamName )


description: Prepare for destruction. Data streams will get ProcessPacketDeliveryStatus for outstanding packets and then marked as garbage.

code: void Deinit()


description: Call EndWrite on all active data streams.


code: void AddReferencedObjects &40; FReferenceCollector & Collector &41;


code: ECreateDataStreamResult CreateStream &40; const FName StreamName &41;


code: EDataStreamSendStatus GetSendStatus &40; const FName StreamName &41; const


code: const UDataStream &42; GetStream &40; const FName StreamName &41; const


code: UDataStream &42; GetStream &40; const FName StreamName &41;


code: void Init &40; const FDataStreamManagerInitParams & InitParams &41;


className: MaxStreamCount

code: static MaxStreamCount = 32U;


code: void ProcessPacketDeliveryStatus &40; UE::Net::EPacketDeliveryStatus Status, FDataStreamRecord const &42; Record &41;


code: void ReadData &40; UE::Net::FNetSerializationContext & context &41;


code: void SetSendStatus &40; const FName StreamName, EDataStreamSendStatus Status &41;


className: StreamCountBitCount

code: static StreamCountBitCount = 5U;


code: UDataStream::EWriteResult WriteData &40; UE::Net::FNetSerializationContext & context, FDataStreamRecord const &42;& OutRecord &41;


description: Get the send status of an already created data stream. Returns Pause if the stream isn't created.

code: [EDataStreamSendStatus](API\Runtime\IrisCore\Iris\DataStream\EDataStreamSendStatus) GetSendStatus ( const [FName](API\Runtime\Core\UObject\FName) StreamName ) const


description:
Gets the data stream with a given name.
A pointer to a const data stream if it exists, nullptr if not.

code: const [UDataStream](API\Runtime\IrisCore\Iris\DataStream\UDataStream) * GetStream ( const [FName](API\Runtime\Core\UObject\FName) StreamName ) const


description:
Gets the data stream with a given name.
A pointer to the data stream if it exists, nullptr if not.

code: [UDataStream](API\Runtime\IrisCore\Iris\DataStream\UDataStream) * GetStream ( const [FName](API\Runtime\Core\UObject\FName) StreamName )


description: Initializes the manager. No data stream can be created by the manager before this.

code: void Init ( const [FDataStreamManagerInitParams](API\Runtime\IrisCore\Iris\DataStream\FDataStreamManagerInitParams) & InitParams )


description: Called for all data streams that wrote to a packet whose delivery status is now known.

code: virtual void ProcessPacketDeliveryStatus ( [UE::Net::EPacketDeliveryStatus](API\Runtime\IrisCore\Iris\PacketControl\UE__Net__EPacketDeliveryStatus) Status, [FDataStreamRecord](API\Runtime\IrisCore\Iris\DataStream\FDataStreamRecord) const * Record )


description: When a packet is received call ReadData on all data streams that wrote something.

code: virtual void ReadData ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & context )


description: Set the send status of an already created data stream.

code: void SetSendStatus ( const [FName](API\Runtime\Core\UObject\FName) StreamName, [EDataStreamSendStatus](API\Runtime\IrisCore\Iris\DataStream\EDataStreamSendStatus) Status )


description: Call WriteData on all active data streams.

code: virtual [EWriteResult](API\Runtime\IrisCore\Iris\DataStream\UDataStream\EWriteResult) WriteData ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & context, [FDataStreamRecord](API\Runtime\IrisCore\Iris\DataStream\FDataStreamRecord) const *& OutRecord )


className: UDataStreamManager

description: No constructors are accessible with public or protected access.

code: class UDataStreamManager : public [UDataStream](API\Runtime\IrisCore\Iris\DataStream\UDataStream)


description: Enum used to report packet notifications to DataStreams.

code: namespace UE { namespace Net { enum EPacketDeliveryStatus { Delivered, Lost, Discard, } } }


className: ConstructReplicationStateFunc

description: Required functions to construct and destruct external state in the provided buffer.


className: FInternalTypeInfo

code: struct FInternalTypeInfo


className: ConditionalChangeMaskStorageIndex

code: enum { ConditionalChangeMaskStorageIndex = 2U }


className: IrisFastArrayChangeMaskBits

description: At the moment as we have no way to specify this per derived type, currently we reserve a fixed range of bits used for the changemask, the first bit is used for the array itself.

code: enum { IrisFastArrayChangeMaskBits = 63U }


className: IrisFastArrayChangeMaskBitOffset

code: enum { IrisFastArrayChangeMaskBitOffset = 1U }


className: IrisFastArrayPropertyBitIndex

code: enum { IrisFastArrayPropertyBitIndex = 0U }


description: Override MarkItemDirty in order to mark object as dirty in the DirtyNetObjectTracker

code: void MarkItemDirty ( [FFastArraySerializerItem](API\Runtime\NetCore\Net\Serialization\FFastArraySerializerItem) & Item )


description: Override MarkArrayDirty in order to mark object as dirty in the DirtyNetObjectTracker

code: void MarkArrayDirty()


className: MemberChangeMaskStorageIndex

code: enum { MemberChangeMaskStorageIndex = 0U }


description: We must make sure that we do not copy replication state header and must update dirtiness if bound

code: [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & operator= ( const [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Other )


description: We must make sure that we do not move replication state header and must update dirtiness if bound

code: [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & operator= ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) && Other )


description: Will not copy replication state header

code: FIrisFastArraySerializer ( const [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Other )


description: Will not copy replication state header

code: FIrisFastArraySerializer ( const [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) && Other )


code: virtual [FNetSerializerConfig](API\Runtime\IrisCore\Iris\Serialization\FNetSerializerConfig) * BuildNetSerializerConfig ( void * NetSerializerConfigBuffer, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


code: virtual bool CanUseDefaultConfig ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


className: FIrisFastArraySerializer

description: Specialization ofFFastArraySerializerin order to add state tracking support for Iris Current usage is to inherit from this struct instead ofFFastArraySerializer, backwards compatible with existing system as it simply forwards calls to MarkDirty/MarkItemDirty This class could be named FFastArrayReplicationState, but kept theFIrisFastArraySerializerto match old naming for the time being

code: struct FIrisFastArraySerializer : public [FFastArraySerializer](API\Runtime\NetCore\Net\Serialization\FFastArraySerializer)


code: virtual const [FNetSerializer](API\Runtime\IrisCore\Iris\Serialization\FNetSerializer) * GetNetSerializer ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


description: Last resort for properties that have no specialized serializer. An example is TextProperty.

code: virtual const [FFieldClass](API\Runtime\CoreUObject\UObject\FFieldClass) * GetPropertyTypeClass() const


className: FLastResortPropertyNetSerializerInfo


code: virtual bool IsSupported ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


code: FNamedStructLastResortPropertyNetSerializerInfo ( const [FName](API\Runtime\Core\UObject\FName) InPropertyFName )


description: Custom replication fragments are currently only supported by structs with a custom NetSerializer. See UE_NET_IMPLEMENT_NAMED_STRUCT_NETSERIALIZER_WITH_CUSTOM_FRAGMENT_INFO.


code: FNamedStructPropertyNetSerializerInfo ( const [FName](API\Runtime\Core\UObject\FName) InPropertyFName, const [FNetSerializer](API\Runtime\IrisCore\Iris\Serialization\FNetSerializer) & InSerializer )


className: FNamedStructPropertyNetSerializerInfo

description: Helper to implement simple default PropetyNetSerializerInfo for structs.

code: struct FNamedStructPropertyNetSerializerInfo : public [UE::Net::TSimplePropertyNetSerializerInfo< FStructProperty >](API\Runtime\IrisCore\Iris\ReplicationState\TSimplePropertyNetSerializerInfo)


className: EResolveType

code: enum EResolveType { Invalid = 0U, ResolveOnClient, MustExistOnClient, ResolveOnlyWhenRecvd, }


code: FNetReferenceInfo ( [FNetReferenceInfo::EResolveType](API\Runtime\IrisCore\Iris\ReplicationState\FNetReferenceInfo\EResolveType) InResolveType )


className: FNetReferenceInfo

code: struct FNetReferenceInfo

ResolveType

type: EResolveType


code: virtual const [FNetSerializerConfig](API\Runtime\IrisCore\Iris\Serialization\FNetSerializerConfig) * BuildNetSerializerConfig ( void * NetSerializerConfigBuffer, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


className: FPropertyNetSerializerInfo

description: Currently we require each supported type to registerFPropertyNetSerializerInfoIt provides information on what NetSerializer to use for which property and how to build the required NetSerializer config which is used when we build the dynamic descriptor It is possible to register multipleFPropertyNetSerializerInfofor the same PropertyType-class as long as the IsSupportedFunction only matches a single Property, i.e. bool/nativebool enums of different sizes

code: struct FPropertyNetSerializerInfo

StructName

type: FName

description: Used by named struct serializers.


code: bool IsSupportedStruct ( [FName](API\Runtime\Core\UObject\FName) InStructName ) const


className: bRegistryIsDirty

code: static bool bRegistryIsDirty = false;


description: Find theFPropertyNetSerializerInfofor the provided property

code: static const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * FindSerializerInfo ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Find StructSerializerInfo by name for non property based serialization

code: static const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * FindStructSerializerInfo ( const [FName](API\Runtime\Core\UObject\FName) Name )


className: FNetSerializerInfoRegistry

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FRegistryEntry](API\Runtime\Core\Misc\TTuple) > FNetSerializerInfoRegistry


description: Sort entries in registry on property type

code: static void Freeze()


className: FRegistryEntry

code: typedef [TTuple](API\Runtime\Core\Misc\TTuple)< const [FFieldClass](API\Runtime\CoreUObject\UObject\FFieldClass) *, const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * > FRegistryEntry


description: FNopNetSerializerConfig

code: static const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * GetNopNetSerializerInfo()


description: RegisterFPropertyNetSerializerInfoin the registry

code: static void Register ( const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * Info )


description: Reset the registry

code: static void Reset()


code: static void Unregister ( const [FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo) * Info )


className: FPropertyNetSerializerInfoRegistry

description: This is a simple static registry used by the ReplicationStateDescriptorBuiider when building descriptors using properties


description: Invoke repnotifies for all dirty members

code: void CallRepNotifies ( void *__restrict DstData, const [FCallRepNotifiesParameters](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState\FCallRepNotifies-) & Params ) const


code: void CallRepNotifies ( void *__restrict DstData, const [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) * PreviousState, bool bIsInit ) const


className: FCallRepNotifiesParameters

code: struct FCallRepNotifiesParameters

bIsInit

type: bool

description: This is an init state.

bOnlyCallIfDiffersFromLocal

description: Only call repnotify if value differs from local value.

PreviousState

type: constFProperty...

description: Previous state if requested.


description: Set the value at the providedIndex, written into DstValue. TheUPropertyis looked up from the descriptor using the index, if the value differs the statemask is updated Mostly intended for test code Normal use of this class is through the poll layer TODO: It would be nice if we could provide some validation on property types

code: void GetPropertyValue ( uint32 Index, void * DstValue ) const


code: const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * GetReplicationStateDescriptor() const


description: If state has custom conditionals then this function will check whether the condition is enabled or not. If state doesn't have custom conditionals it will return true.

code: bool IsCustomConditionEnabled ( uint32 Index ) const


description: Is the property at the given index dirty, for properties with multiple bits in the statemask this will return true if any of those bits are set

code: bool IsDirty ( uint32 Index ) const


description: Either StateBuffer is initialized and owned by this instance, or we have been injected with a state from the network system A default constructed state is not valid

code: bool IsValid() const


description: Explicitly mark an array at the givenIndexas dirty. It will not mark element changemask bits as dirty.

code: void MarkArrayDirty ( uint32 Index )


description: Explicitly mark the property at the givenIndexas dirty, for properties with multiple bits in the statemask this will mark all bits dirty

code: void MarkDirty ( uint32 Index )


description: Assignment operator, it is debatable if this should be provided or not. if we are copying to a bound state we will perform a Set which will do a full property compare to properly update dirtiness if we are copying to a loose state we will just to a copy of all properties contained in the state, changemask will also be copied

code: [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) & operator= ( const [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) & Other )


description:
Poll data from object referencing properties in SrcData, Note: SrcData is aUObjectcontaining properties. Behaves like PollPropertyReplicationState when it comes to dirtiness and such.
True if any state is dirty, false if not.

code: bool PollObjectReferences ( const void *__restrict SrcData )


description: Polls source data for a single property. If the property has changed it will be marked as dirty.

code: void PollProperty ( const void * SrcData, uint32 Index )


description:
$IRIS TODO: Move Poll/Push/CallRepNotifies out of PropertyReplicationState as loose functions Poll src data from properties in SrcData, where SrcData is a UClass/UStruct containing properties. Compare and update representation in DstStateBuffer and update ChangeMask. This is currently used to track and update dirtiness for the properties.
True if any state is dirty, false if not.

code: bool PollPropertyReplicationState ( const void *__restrict SrcData )


description: Push received state data to properties in DstData buffer, Note: DstData is a UClass/UStruct containing properties Compare and update representation in DstStateBuffer and update ChangeMask

code: void PushPropertyReplicationState ( void *__restrict DstData, bool bPushAll ) const


description: Poll src data from properties which we want to store in order to determine if we need to call RepNotifies

code: bool PollPropertyReplicationStateForRepNotifies ( const void *__restrict SrcData )


description: Set from Other this will update dirtiness by comparing all properties

code: void Set ( const [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) & Other )


description: Note: There is little to none error checking in the methods below, they are mostly intended to be used from internal code and tests Expected usage for this type of ReplicationState is through the polling systemSet the value at the providedIndex, TheUPropertyis looked up from the descriptor using the index, if the value differs the statemask is updated Mostly intended for test code Normal use of this class is through the poll layer TODO: It would be nice if we could provide some validation on property types

code: void SetPropertyValue ( uint32 Index, const void * SrcValue )


className: TArrayElementChangeMaskBits

description: How many bits to use to track dirtiness for individual elements.

code: enum { TArrayElementChangeMaskBits = 63U }


className: TArrayElementChangeMaskBitOffset

description: At which offset in theTArraychangemask element dirtiness begins.

code: enum { TArrayElementChangeMaskBitOffset = 1U }


description: Debug output state toFString

code: [FString](API\Runtime\Core\Containers\FString) ToString ( bool bIncludeAll ) const


className: TArrayPropertyChangeMaskBitIndex

description: The changemask bit into theTArraychangemask info that indicates theTArrayis dirty.

code: enum { TArrayPropertyChangeMaskBitIndex = 0U }


description: Debug output state to StringBuilder

code: const TCHAR * ToString ( FStringBuilderBase & StringBuilder, bool bIncludeAll ) const


description: Construct a new state, StateBuffer will be allocated and constructed according to data in the descriptor

code: FPropertyReplicationState ( const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Copy constructor, will not copy internal data

code: FPropertyReplicationState ( const [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) & Other )


description: Construct a new state, using already constructed state in InStateBuffer

code: FPropertyReplicationState ( const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor, uint8 * InStateBuffer )


description: MemberChangeMaskDescriptor - Data needed for tracking of dirty members.


className: FPropertyReplicationState

description: Polling is quite expensive but we only do it once per update of the replication system

code: class FPropertyReplicationState


Descriptor

type: constFReplicat...

Function

type: constUFunction...


Condition

description: This is a more compact storage form of ELifetimeCondition.


description: Additional data required to call RepNotifies etc.


description: We store information about all members that store references to other objects in order to allow us to quickly iterate over all references.

Info

type: FNetReferenceIn...


className: InvalidEntry

code: enum { InvalidEntry = 65535U }


description: To be able to enable/disable custom conditional properties we need a fast way to go from RepIndex to MemberIndex.

MemberIndex

description: MemberIndex whose property RepIndex matches the index of this entry. ~0 if this entry is invalid.


description: MemberSerializer - What serializer and config to use for the given member.

Serializer

type: constFNetSeria...


className: FReplicationStateMemberTraitsDescriptor

Traits

type: EReplicationSta...


description: RefCounting required for runtime created descriptors.

code: void AddRef() const


code: uint32 GetChangeMaskOffset() const


className: FReplicationStateDescriptor

description: A ReplicationState is our replication primitive, all members of a ReplicationState has the same high level conditional, i.e. connection level, IsInit, and has the same owner filtering on the block level might be Initial, Connection, Owner Within a ReplicationState we do we also support per member conditionals

code: struct FReplicationStateDescriptor

BaseStruct

type: constUScriptSt...

description: Non-null for derived struct descriptors.

ChangeMaskBitCount

description: How many bits do we need for our tracking of dirty changes.

ChangeMasksExternalOffset

description: This is the offset to where we store data for changemasks in the external state.

ConstructReplicationState

type: ConstructReplic...

description: Function to construct external state representation in a preallocated buffer.

type: CreateAndRegist...

description: Function used to construct custom replication fragments.

DebugName

type: constFNetDebug...

description: Optional debug info.

DefaultStateBuffer

type: const uint8 ...

description: Pointer to default state buffer, must be explicitly destroyed if set since it might contain dynamic data.

DescriptorIdentifier

type: FReplicationSta...

description: We need to assign a unique key that is stable between server and client (name hash of class + state type for now)

DestructReplicationState

type: DestructReplica...

description: Function to destruct external state representation.

MemberLifetimeConditionDescriptors

description: Non-null if trait HasLifetimeConditionals is set.

MemberProperties

description: This should possibly be moved to its own external descriptor as we do not want to rely on UProperties if we can.

MemberPropertyDescriptors

description: Additional data associated with applying state data for properties We keep this in a separate array as we might only need this if we can receive data

RefCount

type: std::atomic< in...

RepIndexCount

description: How many RepIndex to MemberIndex entries there are.


description: Returns number of states created for the provided class.

code: static SIZE_T CreateDescriptorsForClass ( [FResult](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptorBuild-\FResult) & OutCreatedDescriptors, [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass, const [FParameters](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptorBuild-\FParameters) & Parameters )


description: FReplicationStateDescriptorBuilderImplementation

code: static [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) > CreateDescriptorForStruct ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct, const [FParameters](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptorBuild-\FParameters) & Parameters )


description: If a descriptor registry is provided, the function below will search the registry before creating a new ReplicationStateDescriptor. Any new created ReplicationStateDescriptor will be registered in the provided registry.

code: static [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) > CreateDescriptorForFunction ( const [UFunction](API\Runtime\CoreUObject\UObject\UFunction) * Function, const [FParameters](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptorBuild-\FParameters) & Parameters )


className: FParameters

code: struct FParameters

type: uint32:  1

description: If AllowFastArrayWithExtraReplicatedProperties is set to true, we will allow building descriptors for fastarrays with more than a single property.

DefaultStateSource

type: UObject*

description: If provided we use this to source our default state, if not provided we source default state from the CDO instead.

EnableFastArrayHandling

description: If EnableFastArrayHandling is true and the struct inherits fromFFastArraySerializerthen special logic will be applied which allows it to be bound to a FastArrayReplicationFragment.

GetLifeTimeProperties

description: Get the lifetime properties for conditionals if applicable. This applies only to classes.

IncludeSuper

description: Include super class when building descriptor.

SinglePropertyIndex

description: If SinglePropertyIndex != -1 we will create a state that only includes the specified property.

description: In SkipCheckForCustomNetSerializer is true the descriptor will be built using the underlying representation even if a CustomNetSerializer is registered for the struct.


code: static const [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * CVarReplicateCustomDeltaPropertiesInRepIndexOrder = nullptr;


className: FResult

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) > > FResult


className: FReplicationStateDescriptorBuilder


description: Returns true if the state is bound to the dirty tracking system

code: bool IsBound() const


className: FReplicationStateHeader

description: A ReplicationState always contains a ReplicationStateHeader which we use to bind replication states for dirty tracking

code: struct FReplicationStateHeader


description: Clears both state and init state dirtiness.

code: static void ClearAllStateIsDirty ( [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static bool GetIsInitStateDirty ( const [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static uint32 GetNetHandleId ( const [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static bool GetIsStateDirty ( const [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static void MarkInitStateDirty ( [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static void MarkStateDirty ( [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header )


code: static void SetNetHandleId ( [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header, [FNetHandle](API\Runtime\NetCore\Net\Core\NetHandle\FNetHandle) NetHandle )


className: FReplicationStateHeaderAccessor

description: Internal access, should only be used by internal code

code: struct FReplicationStateHeaderAccessor


code: bool operator!= ( const [FReplicationStateIdentifier](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateIdentifier) & Other ) const


description: We currently do not include the DefaultStateHash when comparingFReplicationStateIdentifieras we might make it optional.

code: bool operator== ( const [FReplicationStateIdentifier](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateIdentifier) & Other ) const


code: bool operator< ( const [FReplicationStateIdentifier](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateIdentifier) & Other ) const


className: FReplicationStateIdentifier

code: struct FReplicationStateIdentifier


className: FReplicationStateMemberDebugDescriptor

description: Per member debug descriptor, not strictly needed as long as we have the property list.


className: FReplicationStateMemberDescriptor

description: MemberDescriptors - Offset to where to find member data in both external and internal representation.


className: FReplicationStateMemberTagDescriptor

InnerTagIndex

description: When we propagate tags from a struct in a replication state we need to know how to get additional tag information. ~0 means invalid.

MemberIndex

description: Which member in the replication state.

Tag

type: FRepTag


className: FRepTag

description: Types.

code: typedef uint64 FRepTag


className: FSupportsStructNetSerializerConfig

bCanUseStructNetSerializer

type: bool

description: If the named struct works with the default Iris StructNetSerializer.

StructName

type: FName

description: Struct name.


code: static [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) GetChangeMask ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array )


code: static [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) GetConditionalChangeMask ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array )


code: static [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & GetReplicationStateHeader ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array )


description: Mark array and all bits in changemask as dirty and notify DirtyObjectTracker that the object is dirty if it has not been done before

code: static void MarkAllArrayItemsDirty ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array, uint32 StartingIndex )


description: Mark array dirty and mark changemask bit used for array Item as dirty and notify DirtyObjectTracker that the object is dirty if it has not been done before Currently the same changemask bit might be used to indicate dirtiness for multiple array items

code: static void MarkArrayItemDirty ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array, int32 Index )


description: Mark array as dirty and notify DirtyObjectTracker that the object is dirty if it has not been done before

code: static void MarkArrayDirty ( [FIrisFastArraySerializer](API\Runtime\IrisCore\Iris\ReplicationState\FIrisFastArraySerializer) & Array )


className: FIrisFastArraySerializerPrivateAccessor

description: Internal access of FastArraySerializer, for internal use only


description: The idea is to provide an interface that is modeled after what we can do with aTArraybut with dirty tracking per member This way we can update changemask directly and does not need to poll for changes

code: void Add ( const [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & ItemEntry )


description: Local add which will add item to array without dirtying it

code: void AddLocal ( const [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & ItemEntry )


description: Edit Item in array and call MarkItemDirty

code: [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & Edit ( int32 ItemIdx )


description: Local edit which will modify local item without dirtying it

code: [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & EditLocal ( int32 ItemIdx )


description: Empty array and call MarkArrayDirty

code: void Empty()


description: Forwards MarkArrayDirty call to FastArray and if the FastArray is bound it will also update DirtyState tracking

code: void MarkArrayDirty()


description: Forwards MarkItemDirty call to FastArray and if the FastArray is bound it will also update DirtyState tracking

code: void MarkItemDirty ( [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & Item )


description: Mutable access to Item, will call MarkItemDirty

code: [FastArrayItemType](API\Runtime\IrisCore\Iris\ReplicationState\Private\TIrisFastArrayEditor\FastArrayItemTyp-) & operator[] ( int32 ItemIdx )


description: Remove item at the specified index, will forward call to MarkArrayDirty, if bound will mark all potentially moved items as dirty

code: void Remove ( int32 ItemIdx )


description: Remove item at the specified index, will only mark the affected item dirty

code: void RemoveAtSwap ( int32 ItemIdx )


code: TIrisFastArrayEditor ( FastArrayType & InFastArray )


className: TIrisFastArrayEditor

description: Experimental support for more explicit interface to edit FastArrays which can be used to avoid polling The idea is that the interface would implement a subset of the Array interface and be used instead of directly modifying the array

code: template<typename FastArrayType> class TIrisFastArrayEditor


code: virtual [FNetSerializerConfig](API\Runtime\IrisCore\Iris\Serialization\FNetSerializerConfig) * BuildNetSerializerConfig ( void * NetSerializerConfigBuffer, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


code: virtual const [FNetSerializer](API\Runtime\IrisCore\Iris\Serialization\FNetSerializer) * GetNetSerializer ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


code: virtual const [FFieldClass](API\Runtime\CoreUObject\UObject\FFieldClass) * GetPropertyTypeClass() const


code: TSimplePropertyNetSerializerInfo ( const [FNetSerializer](API\Runtime\IrisCore\Iris\Serialization\FNetSerializer) & InSerializer )


className: TSimplePropertyNetSerializerInfo

description: Some helpers to register default infos for properties

code: template<typename T, typename ConfigType> struct TSimplePropertyNetSerializerInfo : public [UE::Net::FPropertyNetSerializerInfo](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyNetSerializerInfo)


description: AFNetSerializeris needed for replication support of a certain type. Most types that can be marked as UPROPERTY are already supported. Types that aren't supported or need special support will emit warnings when descriptors are built for a UCLASS, USTRUCT or UFUNCTION. Find below how to implement one.

code: namespace UE { namespace Net { enum EReplicationStateMemberTraits { None = 0U, HasDynamicState = 1U << 0U, HasObjectReference = HasDynamicState << 1U, HasConnectionSpecificSerialization = HasObjectReference << 1U, HasRepNotifyAlways = HasConnectionSpecificSerialization << 1U, UseSerializerIsEqual = HasRepNotifyAlways << 1U, } } }


description: Behavior / Feature Traits

code: namespace UE { namespace Net { enum EReplicationStateTraits { None = 0U, InitOnly = 1U, HasLifetimeConditionals = InitOnly << 1U, HasObjectReference = HasLifetimeConditionals << 1U, NeedsRefCount = HasObjectReference << 1U, HasRepNotifies = NeedsRefCount << 1U, KeepPreviousState = HasRepNotifies << 1U, HasDynamicState = KeepPreviousState << 1U, IsSourceTriviallyConstructible = HasDynamicState << 1U, IsSourceTriviallyDestructible = IsSourceTriviallyConstructible << 1U, AllMembersAreReplicated = IsSourceTriviallyDestructible << 1U, IsFastArrayReplicationState = AllMembersAreReplicated << 1U, IsNativeFastArrayReplicationState = IsFastArrayReplicationState << 1U, HasConnectionSpecificSerialization = IsNativeFastArrayReplicationState << 1U, HasPushBasedDirtiness = HasConnectionSpecificSerialization << 1U, SupportsDeltaCompression = HasPushBasedDirtiness << 1U, UseSerializerIsEqual = SupportsDeltaCompression << 1U, IsDerivedStruct = UseSerializerIsEqual << 1U, } } }


code: namespace UE { namespace Net { uint32 UE::Net::GetTypeHash ( const [FReplicationStateIdentifier](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateIdentifier) & Identifier ) } }


description: Mark the a NetObject/Handle as dirty which means it requires to be copied when we update the Replication system

code: namespace UE { namespace Net { void UE::Net::MarkNetObjectStateDirty ( [FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & Header ) } }


code: namespace UE { namespace Net { [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) & UE::Net::operator&= ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) & Lhs, [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Rhs ) } }


code: namespace UE { namespace Net { [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) & UE::Net::operator&= ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) & Lhs, [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Rhs ) } }


code: namespace UE { namespace Net { [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) & UE::Net::operator^= ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) & Lhs, [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Rhs ) } }


code: namespace UE { namespace Net { [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) & UE::Net::operator^= ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) & Lhs, [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) UE::Net::operator& ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Lhs, [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) UE::Net::operator& ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Lhs, [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) UE::Net::operator^ ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Lhs, [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) UE::Net::operator^ ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Lhs, [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) Rhs ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) E ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) E ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) UE::Net::operator~ ( [EReplicationStateMemberTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateMember-) E ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) UE::Net::operator~ ( [EReplicationStateTraits](API\Runtime\IrisCore\Iris\ReplicationState\UE__Net__EReplicationStateTraits) E ) } }


code: namespace UE { namespace Net { namespace Private { constexpr uint32 UE::Net::Private::GetInternalMemberOffset ( const [FReplicationStateMemberDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateMemberDescripto-) * MemberDescriptors, const [FInternalTypeInfo](API\Runtime\IrisCore\Iris\ReplicationState\FInternalTypeInfo) * InternalTypeInfo, uint32 MemberIndex ) } } }


code: namespace UE { namespace Net { namespace Private { template<typename T> constexpr uint16 UE::Net::Private::GetInternalStateAlignment ( const T & MemberDescriptors, const [FInternalTypeInfo](API\Runtime\IrisCore\Iris\ReplicationState\FInternalTypeInfo) * InternalTypeInfo ) } } }


code: namespace UE { namespace Net { namespace Private { template<typename T> constexpr uint32 UE::Net::Private::GetMemberChangeMaskSize ( const T & MemberChangeMaskDescriptors ) } } }


code: namespace UE { namespace Net { namespace Private { template<typename T> static constexpr uint32 UE::Net::Private::CalculateWordCountForChangeMask ( const T & ChangeMaskDescriptors ) } } }


code: namespace UE { namespace Net { namespace Private { bool UE::Net::Private::IsReplicationStateBound ( void * StateBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor ) } } }


description: GetFReplicationStateHeaderfrom a ReplicationState

code: namespace UE { namespace Net { namespace Private { [UE::Net::FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & UE::Net::Private::GetReplicationStateHeader ( void * StateBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor ) } } }


description: Get MemberConditionalChangeMask. Valid if state has lifetime conditionals.

code: namespace UE { namespace Net { namespace Private { [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) UE::Net::Private::GetMemberConditionalChangeMask ( uint8 * StateBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor ) } } }


code: namespace UE { namespace Net { namespace Private { template<typename T> constexpr uint32 UE::Net::Private::GetInternalStateSize ( const T & MemberDescriptors, const [FInternalTypeInfo](API\Runtime\IrisCore\Iris\ReplicationState\FInternalTypeInfo) * InternalTypeInfo ) } } }


description: Get MemberChangeMask

code: namespace UE { namespace Net { namespace Private { [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) UE::Net::Private::GetMemberChangeMask ( uint8 * StateBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor ) } } }


description: Mark specific member dirty, if this is the first bit marked as dirty in the local MemberChangeMask and the state is bound, mark owning object as dirty as well. Note that all bits described by the ChangeMaskInfo will be dirtied by the call.

code: namespace UE { namespace Net { namespace Private { void UE::Net::Private::MarkDirty ( [UE::Net::FReplicationStateHeader](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateHeader) & InternalState, [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & MemberChangeMask, const [FReplicationStateMemberChangeMaskDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStat-) & ChangeMaskInfo ) } } }


code: UReplicationStateDescriptorConfig()


className: UReplicationStateDescriptorConfig

code: class UReplicationStateDescriptorConfig : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Replication conditions that can be set on replicated objects.

code: namespace UE { namespace Net { enum EReplicationCondition { RoleAutonomous, ReplicatePhysics, } } }


description: Returns the traits


code: Private::FReplicationStateDescriptorRegistry * GetReplicationStateRegistry() const


description: Returns true when the netobject knows it won't contain any replicated properties or RPCs

code: bool IsFragmentlessNetObject() const


description: Returns the number of fragments registered

code: int32 NumFragments() const


description: Register ReplicationFragment

code: void RegisterReplicationFragment ( [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) * Fragment, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor, void * SrcReplicationStateBuffer )


description: Call this when you have a netobject that is replicated but will never contain any RPCs or replicated properties. Prevents the registration code from complaining about potential errors.

code: void SetIsFragmentlessNetObject ( bool bIsFragmentless )


code: FFragmentRegistrationContext ( Private::FReplicationStateDescriptorRegistry * InReplicationStateRegistry, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) InFragmentTraits )


className: FFragmentRegistrationContext

code: class FFragmentRegistrationContext


className: FNetObjectFilterAddObjectParams

code: struct FNetObjectFilterAddObjectParams

InstanceProtocol

type: const UE::Net::...

description: The FReplicationInstanceProtocol which describes the source state data.

OutInfo

type: FNetObjectFilte...

description: The info is zeroed before the AddObject() call.

Protocol

description: The FReplicationProtocol which describes the internal state data.

StateBuffer

description: One can retrieve relevant information from the object state buffer using the FReplicationProtocol.


className: FNetObjectFilterUpdateParams

description: Parameters passed to the filter's UpdateObjects() call.

code: struct FNetObjectFilterUpdateParams

FilteringInfos

description: Infos for all objects.

InstanceProtocols

description: InstanceProtocols for updated objects.

ObjectCount

description: The number of objects that have been updated.

ObjectIndices

type: const uint32 &#...

description: Indices of the updated objects.

StateBuffers

type: uint8 *cons...

description: State buffers for all objects.


className: FNetObjectFilterDefinition

code: struct FNetObjectFilterDefinition

ClassName

description: UClassname, specified by its fully qualified path, used to create theUNetObjectFilter.

ConfigClassName

description: OptionalUClassname, specified by its fully qualified path, used to create theUNetObjectFilterConfig.

FilterName

description: Filter identifier. Used to uniquely identify a filter.


className: FNetObjectFilteringInfo

description: Filter specific data stored per object, such as offsets to tags. The data is initialized to zero by default.

code: struct FNetObjectFilteringInfo


code: FNetObjectFilteringParams ( const [UE::Net::FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) InFilteredObjects )


className: FNetObjectFilteringParams

description: Parameters passed toUNetObjectFilter::Filter.

code: struct FNetObjectFilteringParams

ConnectionId

description: ID of the connection that the filtering applies to.

FilteredObjects

description: The indices of the objects that have this filter set.

FilteringInfos

type: constFNetObjec...

description: FilteringInfos for all objects.

OutAllowedObjects

description: The contents of OutAllowedObjects is undefined when passed toFilter().

StateBuffers

description: State buffers for all objects.

View

description: The view associated with the connection and its sub-connections that objects are filtered for.


code: FNetObjectFilterInitParams ( const [UE::Net::FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) InFilteredObjects )


className: FNetObjectFilterInitParams

description: Parameters passed to the filter's Init() call.

code: struct FNetObjectFilterInitParams

Config

type: UNetObjectFilte...

description: Optional config as set in theFNetObjectFilterDefinition.

FilteredObjects

description: The objects that are handled by the filter.

MaxConnectionCount

description: The maximum number of connections in the system.

MaxObjectCount

description: The maximum number of objects in the system.

ReplicationSystem

type: TObjectPtr<URe...


className: FNetObjectPostFilteringParams

description: Parameters passed toUNetObjectFilter::PostFilter.

code: struct FNetObjectPostFilteringParams


className: FNetObjectPreFilteringParams

description: Parameters passed toUNetObjectFilter::PreFilter.

code: struct FNetObjectPreFilteringParams

ValidConnections

description: The IDs of all valid connections.


description: Used to control whether an object is allowed to be replicated or not.

code: namespace UE { namespace Net { enum ENetFilterStatus { Disallow, Allow, } } }


description: Returns true of the provided GroupHandle is a reserved NetObjectGroupHandle

code: namespace UE { namespace Net { static constexpr bool UE::Net::IsReservedNetObjectGroupHandle ( FNetObjectGroupHandle GroupHandle ) } }


description: A new object want to use this filter. Opportunity to cache some information for it. The info struct passed has been zeroed. Must be overriden.

code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectFilterAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-) & )


className: UFilterOutNetObjectFilterConfig

code: class UFilterOutNetObjectFilterConfig : public [UNetObjectFilterConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilterConfig)


description: Filter a batch of objects. There may be multiple calls to this function even for the same connection. Must be overriden.

code: virtual void Filter ( [FNetObjectFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringParams) & )


description: Called right after constructor for enabled filters. Must be overriden.

code: virtual void OnInit ( [FNetObjectFilterInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilterInitParams) & )


description: An object no longer wants to use this filter.

code: virtual void RemoveObject ( uint32 ObjectIndex, const [FNetObjectFilteringInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringInfo) & )


description: A set of objects using this filter has been updated. An opportunity for the filter to update cached data.

code: virtual void UpdateObjects ( [FNetObjectFilterUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-_1) & )


className: UFilterOutNetObjectFilter

code: class UFilterOutNetObjectFilter : public [UNetObjectFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilter)


className: UNetObjectConnectionFilterConfig

code: class UNetObjectConnectionFilterConfig : public [UNetObjectFilterConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilterConfig)

MaxObjectCount

description: The maximum amount of objects that may be added to the filter.


description: A new connection has been added. An opportunity for the filter to allocate per connection info.

code: virtual void AddConnection ( uint32 ConnectionId )


code: void SetLocalObjectIndex &40; uint16 Index &41;


className: FFilteringInfo

code: struct FFilteringInfo : public [FNetObjectFilteringInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringInfo)


className: FPerConnectionInfo

code: struct FPerConnectionInfo


description: If there are any connections being replicated and there's a chanceFilter()will be called thenPreFilter()will be called exactly once before all calls toFilter().If there are any connections being replicated and there's a chanceFilter()will be called thenPreFilter()will be called exactly once before all calls toFilter().

code: virtual void PreFilter ( [FNetObjectPreFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectPreFil-) & )


description: A new connection has been added. An opportunity for the filter to deallocate per connection info.

code: virtual void RemoveConnection ( uint32 ConnectionId )


code: void SetReplicateToConnection ( [UE::Net::FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle, uint32 ConnectionId, [UE::Net::ENetFilterStatus](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UE__Net__ENetFilterStatus) FilterStatus )


className: UNetObjectConnectionFilter

description: The NetObjectConnectionFilter is a dynamic pre-poll filter that supports per connection filtering. It should be seen as an alternative to the ReplicationSystem SetConnectionFilter API for use cases where for example the object in question can be a dependent object. Dependent objects will override dynamic filtering and only dynamic filtering.

code: class UNetObjectConnectionFilter : public [UNetObjectFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilter)

Config

type: TStrongObjectPt...

LocalToNetRefIndex

type: TArray< uint32 ...

PerConnectionInfos

type: TArray<FPerCon...


description: Returns the filtering info for this object if it's handled by this filter, nullptr otherwise.

code: [FNetObjectFilteringInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringInfo) * GetFilteringInfo ( uint32 ObjectIndex )


description: Returns what type of filter it is. Default is to cull and be executed before dirty state copying.

code: ENetFilterType GetFilterType() const


code: void Init ( [FNetObjectFilterInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilterInitParams) & Params )


description: IfPreFilter()was called thenPostFilter()will be called exactly once after allFilter()calls.

code: virtual void PostFilter ( [FNetObjectPostFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectPostFi-) & )


description: Directly set when you want your dynamic filter to be executed.

code: void SetupFilterType ( ENetFilterType NewFilterType )


description: Returns true if the object is added to this filter, false otherwise.

code: bool IsAddedToFilter ( uint32 ObjectIndex ) const


code: virtual void UpdateObjects ( [FNetObjectFilterUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-_1) & )


className: UNetObjectFilter

code: class UNetObjectFilter : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


className: UNetObjectFilterConfig

description: FNetObjectFilterDefinition

code: class UNetObjectFilterConfig : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

FilterType

type: ENetFilterType

description: Can be used to modify when the filter is executed


description: Returns the filter definitions exactly as configured. May contain invalid definitions, such as ClassNames not inheriting fromUNetObjectFilter.

code: TConstArrayView< [FNetObjectFilterDefinition](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilterDefinition) > GetFilterDefinitions() const


className: UNetObjectFilterDefinitions

description: Configurable filter definitions. Valid filter definitions are auto-created by the filter system.

code: class UNetObjectFilterDefinitions : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


code: void AddCellInfoForObject ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FObjectLocationI-) & ObjectInfo, const UE::Net::FReplicationInstanceProtocol * InstanceProtocol )


code: virtual void AddConnection ( uint32 ConnectionId )


description: A new object want to use this filter. Opportunity to cache some information for it. The info struct passed has been zeroed. Must be overriden.

code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectFilterAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-) & )


code: bool operator&61;&61; &40; const FCellBox & &41; const


code: bool operator&33;&61; &40; const FCellBox & &41; const


description: Build the data needed to properly filter this object.

code: virtual bool BuildObjectInfo ( uint32 ObjectIndex, [FNetObjectFilterAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-) & Params )


description: Filter a batch of objects. There may be multiple calls to this function even for the same connection. Must be overriden.

code: virtual void Filter ( [FNetObjectFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringParams) & )


code: uint32 GetInfoIndex&40;&41; const


code: void SetInfoIndex &40; uint32 Index &41;


code: void SetLocationStateOffset &40; uint16 Offset &41;


code: void SetLocationStateIndex &40; uint16 Index &41;


className: FObjectLocationInfo

code: struct FObjectLocationInfo : public [FNetObjectFilteringInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringInfo)


className: FPerObjectInfo

description: We can't fit all info we need in 4x16bits.

code: struct FPerObjectInfo

CellBox

type: FCellBox

CullDistance

type: float

Position

type: FVector


className: InvalidStateIndex

code: enum { InvalidStateIndex = 65535U }


className: InvalidStateOffset

code: enum { InvalidStateOffset = 65535U }


className: ObjectInfosChunkSize

code: enum { ObjectInfosChunkSize = 64 * 1024 }


description: Called right after constructor for enabled filters. Must be overriden.

code: virtual void OnInit ( [FNetObjectFilterInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilterInitParams) & )


code: virtual void PreFilter ( [FNetObjectPreFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectPreFil-) & )


description: Callback when an object is removed from the grid. Useful to cleanup data tied to the object.

code: virtual void OnObjectRemoved ( uint32 ObjectIndex )


code: void RemoveCellInfoForObject ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FObjectLocationI-) & ObjectInfo )


description: An object no longer wants to use this filter.

code: virtual void RemoveObject ( uint32 ObjectIndex, const [FNetObjectFilteringInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringInfo) & )


description: A new connection has been added. An opportunity for the filter to deallocate per connection info.

code: virtual void RemoveConnection ( uint32 ConnectionId )


code: void UpdateCellInfoForObject ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FObjectLocationI-) & ObjectInfo, const UE::Net::FReplicationInstanceProtocol * InstanceProtocol )


description: Sets the current position of the object based on how we access it's given location.

code: virtual void UpdateObjectInfo ( [FPerObjectInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FPerObjectInfo) & PerObjectInfo, const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FObjectLocationI-) & ObjectLocationInfo, const UE::Net::FReplicationInstanceProtocol * InstanceProtocol )


description: A set of objects using this filter has been updated. An opportunity for the filter to update cached data.

code: virtual void UpdateObjects ( [FNetObjectFilterUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-_1) & )


className: UNetObjectGridFilter

code: class UNetObjectGridFilter : public [UNetObjectFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilter)


className: UNetObjectGridFilterConfig

code: class UNetObjectGridFilterConfig : public [UNetObjectFilterConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilterConfig)

DefaultCullDistance

description: Objects without a NetCullDistanceSquared property will assume to have this value but squared unless there's a cull distance override.

MaxCullDistance

description: Objects with larger sqrt(NetCullDistanceSqr) will be rejected.

MaxPos

description: Coordinates will be clamped to MinPos and MaxPos.

ViewPosRelevancyFrameCount

description: How many frames a view position should be considered relevant.


code: virtual bool BuildObjectInfo ( uint32 ObjectIndex, [FNetObjectFilterAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-) & Params )


code: virtual void UpdateObjectInfo ( [FPerObjectInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FPerObjectInfo) & PerObjectInfo, const [UNetObjectGridFilter::FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter\FObjectLocationI-) & ObjectLocationInfo, const UE::Net::FReplicationInstanceProtocol * InstanceProtocol )


className: UNetObjectGridFragmentLocFilter

description: This filter may be less efficient since it's run after Polling and DirtyData copying and cannot cull out objects from those operations.

code: class UNetObjectGridFragmentLocFilter : public [UNetObjectGridFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter)


className: UNetObjectGridWorldLocFilter

description: This filter is more efficient since it's run before Polling and culls out objects that are not relevant to any connection.

code: class UNetObjectGridWorldLocFilter : public [UNetObjectGridFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectGridFilter)


code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectFilterAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilter-) & )


code: virtual void Filter ( [FNetObjectFilteringParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilteringParams) & )


code: virtual void OnInit ( [FNetObjectFilterInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\FNetObjectFilterInitParams) & )


className: UNopNetObjectFilter

code: class UNopNetObjectFilter : public [UNetObjectFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilter)


className: UNopNetObjectFilterConfig

code: class UNopNetObjectFilterConfig : public [UNetObjectFilterConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilterConfig)


className: BytesPerCullDistanceChunk

description: Arbitrary value. The chunked array will be allocated to fit to higest object index that overrides the cull distance.

code: enum { BytesPerCullDistanceChunk = 4096U }


description: Returns the object's squared cull distance override if it's valid or a negative value if it's not.

code: float GetCullDistanceSqr ( uint32 ObjectIndex ) const


description: Remove cull distance override for object.

code: void ClearCullDistanceSqr ( uint32 ObjectIndex )


description: Returns the object's squared cull distance override if it's valid or the provided DefaultValue if it's not.

code: float GetCullDistanceSqr ( uint32 ObjectIndex, float DefaultValue ) const


description: Returns whether the object has a valid world location or not.

code: bool HasCullDistanceOverride ( uint32 ObjectIndex ) const


code: void Init ( const [FNetCullDistanceOverridesInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetCullDistanceOverridesInitPar-) & InitParams )


description: Set cull distance override for object.

code: void SetCullDistanceSqr ( uint32 ObjectIndex, float CullDistSqr )


className: FNetCullDistanceOverridesInitParams


className: FNetCullDistanceOverrides

code: class FNetCullDistanceOverrides


className: FNetDependencyInfoArray

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FNetDependencyInfo](API\Runtime\IrisCore\Iris\Core\FNetDependencyInfo), TInlineAllocator< 32 > > FNetDependencyInfoArray


code: static bool FullCompare ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) A, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) B )


code: uint32 GetReplicationSystemId() const


className: IdMask

code: static constexpr uint64 IdMask = (1ULL << IdBits) - 1;


className: MaxReplicationSystemId

code: static constexpr uint64 MaxReplicationSystemId = (1ULL << ReplicationSystemIdBits) - 1;


code: bool operator== ( const [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) & Other ) const


code: bool operator!= ( const [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) & Other ) const


code: bool operator< ( const [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) & Other ) const


className: ReplicationSystemIdBits

code: enum { ReplicationSystemIdBits = 4 }


className: StaticIdMask

code: static constexpr uint64 StaticIdMask = 1;


className: FNetRefHandle

description: FNetRefHandle

code: class FNetRefHandle

Id

type: uint64:  IdBits

ReplicationSystemId

type: uint64:  Replic...


className: InvalidTokenIndex

code: enum { InvalidTokenIndex = 0U }


className: InvalidTokenTypeId

code: enum { InvalidTokenTypeId = ~FTypeId(0) }


code: static [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) MakeNetToken ( uint32 Index )


className: MaxNetTokenCount

code: enum { MaxNetTokenCount = 1U << TokenBits }


className: MaxTypeIdCount

code: enum { MaxTypeIdCount = 1U << TokenTypeIdBits }


code: bool operator== ( const [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) & Other ) const


className: TokenBits

code: enum { TokenBits = 20U }


className: TokenTypeIdBits

code: enum { TokenTypeIdBits = 2U }


code: FNetToken &40; uint32 InIndex &41;


description: Create new NetToken.

code: [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) CreateToken ( [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) Key, FNetTokenStoreState & TokenStoreState )


code: [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) GetTokenKey ( [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) Token, const FNetTokenStoreState & TokenStoreState ) const


description: Make NetTokenStoreKey.

code: static [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) MakeNetTokenStoreKey ( [FNetToken::FTypeId](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken\FTypeId) TokenTypeId, uint32 TokenKeyValue )


code: [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) ReadTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


code: void WriteTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) Key ) const


className: FNetTokenDataStore

description: Virtual interface for NetTokenDataStores

code: class FNetTokenDataStore


code: const FNetTokenStoreState * GetLocalNetTokenStoreState() const


description: Read data associated with the NetToken.

code: void ReadTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) & NetToken, FNetTokenStoreState & RemoteNetTokenStoreState )


description: Write data associated with the NetToken.

code: void WriteTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) & NetToken ) const


description: Register DataStore and return true if it was registered.

code: bool RegisterDataStore ( [FNetTokenDataStore](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenDataStore) * DataStore )


code: FNetTokenStore &40; FNetTokenStore && &41;


code: FNetTokenStore &40; const FNetTokenStore & &41;


className: FNetTokenStore

description: This is the token store, we have one per game instance.

code: class FNetTokenStore


code: bool operator== ( const [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) & Other ) const


className: FNetTokenStoreKey

code: class FNetTokenStoreKey

Key

type: uint32:  FNetTo...


bEnableDeltaCompression

type: bool

description: Set to true if delta compression should be enabled for instances derived from this class.

ClassName

type: FName

description: Instances of this class or derived from this class should use delta compression


bForceEnableOnAllInstances

description: Whether this prioritizer should be used for all instances of this class and subclasses, regardless of bAlwaysRelevant and bOnlyRelevantToOwner settings on instance.

description: Instances of this class and its subclasses, specified by its fully qualified path, should use the prioritizer supplied.

PrioritizerName

description: The name of the prioritizer to set on the class instances.


className: FObjectReplicationBridgeFilterConfig

ClassName

description: Instances of this class should use the filter supplied.

DynamicFilterName

description: The name of the filter to set on the class instances.


className: FObjectReplicationBridgePollConfig

bIncludeSubclasses

description: Whether instances of subclasses should also use this poll period.

ClassName

description: Instances of this class, specified by its fully qualified path, should use the supplied poll frame period to check for modified replicated properties.

PollFrequency

description: How many times per second should we poll for modified replicated properties.


description: FReplicationFragmentImplementation

code: virtual void ApplyReplicatedState ( [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context ) const


description: Optional method required for backwards compatibility mode which will be invoked for all Fragment with theEReplicationFragmentTraits::HasRepNotifiestrait set.

code: virtual void CallRepNotifies ( [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context )


description: Optional method required for backwards compatibility mode which is used to propagate required calls to Pre/PostNetReceive/PostRepNotifies.

code: virtual void CollectOwner ( [FReplicationStateOwnerCollector](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateOwnerCollector) * Owners ) const


description: Create and register a PropertyReplicationFragment using the provided descriptor, the lifetime of the fragment will be managed by the ReplicationSystem Lifetime of the created fragment will be managed by the ReplicationSystem returns a pointer to the created fragment

code: static [FPropertyReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FPropertyReplicationFragment) * CreateAndRegisterFragment ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * InDescriptor, [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Context )


description: Allow access to replication state

code: const [FPropertyReplicationState](API\Runtime\IrisCore\Iris\ReplicationState\FPropertyReplicationState) * GetPropertyReplicationState() const


description:
Optional Poll method required for backwards compatibility mode which will be invoked for all Fragment with the EReplicationFragmentTraits::NeedsPoll trait set.
True if the state is dirty, false if not.

code: virtual bool PollReplicatedState ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) PollOption )


description: Register an already existing PropertyReplicationFragment, for example one that is carried around by a base class

code: void Register ( [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Fragments )


description: Optional method to output state data to StringBuilder.

code: virtual void ReplicatedStateToString ( FStringBuilderBase & StringBuilder, [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context, [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Flags ) const


code: FPropertyReplicationFragment ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) InTraits, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * InDescriptor )


className: FPropertyReplicationFragment

description: FPropertyReplicationFragment- used to bind PropertyReplicationStates to their owner

code: class FPropertyReplicationFragment : public [UE::Net::FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment)


code: FReplicationBridgeSerializationContext ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & InSerialiazationContext, uint32 InConnectionId, bool bInIsDestructionInfo )


className: FReplicationBridgeSerializationContext


description: This is called from the ReplicationSystem / ReplicationBridge whenever we have new data Depending on the traits of the fragment we either get pointer to a StateBuffer in the expected external format including changemask information or we get the raw quantized state buffer along with the changemask information for any received states.

code: void ApplyReplicatedState ( [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context ) const


description: Traits


code: [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) & operator= ( const [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) & )


code: FReplicationFragment ( const [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) & )


code: FReplicationFragment ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) InTraits )


className: FReplicationFragment

description: ReplicationFragment Binds one or more ReplicationState(s) to the owner and is the key piece to defining the state that makes up a NetObject Used to extract and set state data on the game side.

code: class FReplicationFragment

Traits

type: EReplicationFra...


className: FReplicationFragmentInfo

description: Used when registering ReplicationFragments

code: struct FReplicationFragmentInfo

Descriptor

type: constFReplicat...

Fragment

type: FReplicationFra...

SrcReplicationStateBuffer

type: void *


className: FReplicationFragments

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FReplicationFragmentInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragmentInfo), TInlineAllocator< 32 > > FReplicationFragments


className: FReplicationFragmentUtil

code: class FReplicationFragmentUtil


description: Create and register all property replication Fragments for the provided object, Descriptors will be created based on the Class of the object Lifetime of created fragments will be managed by the ReplicationSystem If the OutCreatedFragments are provided pointers to the created fragments will be added to the provided array Returns the number of created fragments

code: static uint32 CreateAndRegisterFragmentsForObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Context, [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) RegistrationFlags, [TArray](API\Runtime\Core\Containers\TArray)< [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) * > * OutCreatedFragments )


description: ResetDirtiness

code: static void CopyAndQuantize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 * DstObjectStateBuffer, [FNetBitStreamWriter](API\Runtime\IrisCore\Iris\Serialization\FNetBitStreamWriter) * ChangeMaskWriter, const FReplicationInstanceProtocol * InstanceProtocol, const FReplicationProtocol * Protocol )


description: ResetDirtiness

code: static void CopyAndQuantizeIfDirty ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 * DstObjectStateBuffer, [FNetBitStreamWriter](API\Runtime\IrisCore\Iris\Serialization\FNetBitStreamWriter) * ChangeMaskWriter, const FReplicationInstanceProtocol * InstanceProtocol, const FReplicationProtocol * Protocol )


description: Dequantize the state for a replicated object with a given protocol. Data will be pushed out by using the ReplicationFragments.

code: static void DequantizeAndApply ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const FDequantizeAndApplyParameters & Parameters )


code: static void DequantizeAndApply ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FMemStackBase](API\Runtime\Core\Misc\FMemStackBase) & InAllocator, const uint32 * ChangeMaskData, const FReplicationInstanceProtocol * InstanceProtocol, const uint8 * SrcObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Dequantize the state for a replicated object with a given protocol and output the state to string.

code: static void OutputInternalStateToString ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, FStringBuilderBase & StringBuilder, const uint32 * ChangeMaskData, const uint8 * SrcInternalObjectStateBuffer, const FReplicationInstanceProtocol * InstanceProtocol, const FReplicationProtocol * Protocol )


description: Dequantize the default state for a replicated object with a given protocol and output the state to string.

code: static void OutputInternalDefaultStateToString ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, FStringBuilderBase & StringBuilder, const FReplicationInstanceProtocol * InstanceProtocol, const FReplicationProtocol * Protocol )


description: Update all registered Fragments that updates dirtiness by polling. Returns true if a polled state is dirty.

code: static bool PollAndRefreshCachedPropertyData ( const FReplicationInstanceProtocol * InstanceProtocol, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) PollOptions )


description: Update all registered Fragments that updates dirtiness by polling, except for those with any of the ExcludeTraits. Returns true if a polled state is dirty.

code: static bool PollAndRefreshCachedPropertyData ( const FReplicationInstanceProtocol * InstanceProtocol, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) ExcludeTraits, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) PollOptions )


description: Update object references in fragments that has object references and additional required traits. Returns true if a polled state is dirty.

code: static bool PollAndRefreshCachedObjectReferences ( const FReplicationInstanceProtocol * InstanceProtocol, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) RequiredTraits )


description: Resets dirty tracking stored with the protocol, such as changemasks and init state dirtiness.

code: static void ResetDirtiness ( const FReplicationInstanceProtocol * InstanceProtocol, const FReplicationProtocol * Protocol )


description: Deserialize the state of a NetObject from a BitStream to a ObjectStateBuffer large enough to fit all data

code: static void Deserialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict DstObjectStateBuffer, const FReplicationProtocol * Protocol )


className: FReplicationInstanceOperations

code: struct FReplicationInstanceOperations


description: Deserialize changemask and the state of an object from a BitStream to an ObjectStateBuffer large enough to fit all data delta compressed against default state.

code: static void DeserializeInitialStateWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint32 * DstChangeMaskData, uint8 *__restrict DstObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Deserialize changemask and the state of an object from a BitStream to a ObjectStateBuffer large enough to fit all data

code: static void DeserializeWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint32 * DstChangeMaskData, uint8 *__restrict DstObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Deserialize changemask and the state of an object from a BitStream to an ObjectStateBuffer large enough to fit all data, delta compressed against the PrevObjectStateBuffer.

code: static void DeserializeWithMaskDelta ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint32 * DstChangeMaskData, uint8 *__restrict DstObjectStateBuffer, const uint8 *__restrict PrevObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Free dynamic state for the entire protocol.

code: static void FreeDynamicState ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict SrcObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Initialize from default state

code: static void InitializeFromDefaultState ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict StateBuffer, const FReplicationProtocol * Protocol )


description: Compare two quantized states and return whether they're equal or not.

code: static bool IsEqualQuantizedState ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict Source0, const uint8 *__restrict Source1, const FReplicationProtocol * Protocol )


description: Serialize the state for a full NetObject to BitStream

code: static void Serialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict SrcObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Serialize the initial state of all dirty members a NetObject and changemask to a Bitstream, delta compressed against the default state.

code: static void SerializeInitialStateWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint32 * ChangeMaskData, const uint8 *__restrict SrcObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Serialize the state of all dirty members a NetObject and changemask to Bitstream

code: static void SerializeWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint32 * ChangeMaskData, const uint8 *__restrict SrcObjectStateBuffer, const FReplicationProtocol * Protocol )


description: Serialize the state of all dirty members of an object and changemask to a Bitstream, delta compressed against the PrevObjectStateBuffer.

code: static void SerializeWithMaskDelta ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint32 * ChangeMaskData, const uint8 *__restrict SrcObjectStateBuffer, const uint8 *__restrict PrevObjectStateBuffer, const FReplicationProtocol * Protocol )


className: FReplicationProtocolOperations

code: struct FReplicationProtocolOperations


className: FStateBufferData

description: We have two different variants of applying state data Either we let the ReplicationSystem create and construct a temporary state OR it is up to the ReplicationFragment to manage the external buffer We might for example want to allow a fragment to keep a persistent buffer and simply write directly into it.

code: union FStateBufferData

ChangeMaskData

type: const uint32 &#...

ExternalStateBuffer

type: uint8 *

RawStateBuffer

type: const uint8 ...


className: FReplicationStateApplyContext

code: struct FReplicationStateApplyContext

bHasUnresolvableReferences

type: uint32:  1

description: Set when we are applying state data and a member of the state contains an unresolvable object reference.

bIsInit

description: Indicates that this is the first time we receive this state, (it might also be set if we get this call after resolving references)

bMightHaveUnresolvableInitReferences

description: Set if this fragment is for a init state and the object has unresolved init references.

NetSerializationContext

type: FNetSerializati...

StateBufferData

type: FStateBufferDat...


description: Dequantize a Replication state from internal buffer to already constructed ExternalBuffer

code: static void Dequantize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict DstExternalBuffer, const uint8 *__restrict SrcInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Deserialize Replication state from BitStream to internal buffer

code: static void Deserialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict DstInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void DeserializeDeltaWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & ChangeMask, const uint32 ChangeMaskOffset, uint8 *__restrict DstInternalBuffer, const uint8 *__restrict PrevInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void DeserializeWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & ChangeMask, const uint32 ChangeMaskOffset, uint8 *__restrict DstInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void DeserializeDelta ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict DstInternalBuffer, const uint8 *__restrict PrevInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: FreeDynamicState free all dynamic memory allocated for quantized state data

code: static void FreeDynamicState ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict StateInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Compare two quantized states return false if they are different

code: static bool IsEqualQuantizedState ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict Source0, const uint8 *__restrict Source1, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Quantize a Replication state from ExternalBuffer to internal buffer, DstInternalBuffer does not need to be initialized

code: static void Quantize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, uint8 *__restrict DstInternalBuffer, const uint8 *__restrict SrcExternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void QuantizeWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & ChangeMask, const uint32 ChangeMaskOffset, uint8 *__restrict DstInternalBuffer, const uint8 *__restrict SrcExternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Serialize a Replication state from internal buffer to BitStream

code: static void Serialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict SrcInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void SerializeDelta ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict SrcInternalBuffer, const uint8 *__restrict PrevInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void SerializeDeltaWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & ChangeMask, const uint32 ChangeMaskOffset, const uint8 *__restrict SrcInternalBuffer, const uint8 *__restrict PrevInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


code: static void SerializeWithMask ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBitArrayView](API\Runtime\NetCore\Net\Core\FNetBitArrayView) & ChangeMask, const uint32 ChangeMaskOffset, const uint8 *__restrict SrcInternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


description: Validate a ReplicationState in external format

code: static bool Validate ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const uint8 *__restrict SrcExternalBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor )


className: FReplicationStateOperations

code: struct FReplicationStateOperations


code: void AddOwner ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) ** GetOwners() const


code: FReplicationStateOwnerCollector ( [UObject](API\Runtime\CoreUObject\UObject\UObject) ** InOwners, uint32 InMaxOwnerCount )


className: FReplicationStateOwnerCollector

code: class FReplicationStateOwnerCollector


className: FReplicationSystemCreatedDelegate


className: FReplicationSystemDestroyedDelegate


description:
Creates a new ReplicationSystem.
A pointer to the newly created ReplicationSystem if it was allowed to created, nullptr if not.

code: static [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * CreateReplicationSystem ( const [UReplicationSystem::FReplicationSystemParams](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem\FReplicationSyst-) & Params )


description: CreateReplicationSystem

code: static void DestroyReplicationSystem ( [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * System )


description: Returns all replication systems. Entries may be null.

code: static [TArrayView](API\Runtime\Core\Containers\TArrayView)< [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * > GetAllReplicationSystems()


description: Static delegate that is triggered just after creating and initializing a new replication system.


description: Static delegate that is triggered before we destroy a replication system.


className: MaxReplicationSystemId

code: static uint32 MaxReplicationSystemId = 0;


className: ReplicationSystemConstants

code: enum ReplicationSystemConstants { MaxReplicationSystemCount = 16, }


className: ReplicationSystems

code: static [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * ReplicationSystems;


className: FReplicationSystemFactory

code: class FReplicationSystemFactory


className: FReplicationSystemLifeTime

code: typedef TMulticastDelegate_OneParam< void, [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * > FReplicationSystemLifeTime


className: FView

code: struct FView

FoVRadians

type: float


className: FReplicationView

code: struct FReplicationView

Views

type: TArray<FView, ...


className: FRepTagFindInfo

code: struct FRepTagFindInfo

ExternalStateOffset

description: This is the offset into the state indicated by the StateIndex.

InternalStateAbsoluteOffset

description: The absolute offset into the internal state.

Serializer

type: constFNetSeria...

StateIndex

description: If the tag is found in a protocol this indicates which state the tag was found in, otherwise it will be zero.


description: Create a persistent string.

code: [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) GetOrCreatePersistentString ( const TCHAR * Name, uint32 Length )


description: Create a string token for the provided string.

code: [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) GetOrCreateToken ( const [FString](API\Runtime\Core\Containers\FString) & String )


code: [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) GetOrCreateToken ( const TCHAR * Name, uint32 Length )


description: Read data for a token, returns a valid StoreKey if successful read.

code: virtual [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) ReadTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: Resolve a token received from remote.

code: const TCHAR * ResolveRemoteToken ( [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) Token, const FNetTokenStoreState & NetTokenStoreState ) const


description: Resolve a local token.

code: const TCHAR * ResolveToken ( [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) Token ) const


description: Serialize data for a token, note there is not validation in this function.

code: virtual void WriteTokenData ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetTokenStoreKey](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStoreKey) TokenStoreKey ) const


code: FStringTokenStore &40; FStringTokenStore && &41;


code: FStringTokenStore ( [FNetTokenStore](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenStore) & TokenStore )


code: FStringTokenStore &40; const FStringTokenStore & &41;


className: FStringTokenStore

description: Simple token store used to store string tokens When the PackageMapRefactor is complete we will most likely rely on NetTagManager for persistent storage

code: class FStringTokenStore : public [UE::Net::FNetTokenDataStore](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetTokenDataStore)


className: BytesPerLocationChunk

code: enum { BytesPerLocationChunk = 65536U }


className: FObjectInfo

description: Contains the cached object data we are storing.

code: struct FObjectInfo

CullDistance

description: Network cull distance of the object

WorldLocation

type: FVector

description: Absolute coordinate of the object


description: Get the object's last cull distance we stored.

code: float GetCullDistance ( uint32 ObjectIndex ) const


code: const [FObjectInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\FWorldLocations\FObjectInfo) & GetObjectInfo ( uint32 ObjectIndex ) const


description: Returns the object's world location if it's valid or a zero vector if it's not.

code: FVector GetWorldLocation ( uint32 ObjectIndex ) const


description: Returns whether the object has a valid cached data or not.

code: bool HasInfoForObject ( uint32 ObjectIndex ) const


code: void Init ( const [FWorldLocationsInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\FWorldLocationsInitParams) & InitParams )


code: void InitObjectInfoCache ( uint32 ObjectIndex )


code: void RemoveObjectInfoCache ( uint32 ObjectIndex )