description: Internal API.

code: void UpdateWorldLocation ( uint32 ObjectIndex, const FVector & WorldLocation )


module: IrisCore

code: void SetObjectInfo ( uint32 ObjectIndex, const [FObjectInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\FWorldLocations\FObjectInfo) & ObjectInfo )


className: FWorldLocations

code: class FWorldLocations


className: FWorldLocationsInitParams

code: struct FWorldLocationsInitParams


description: Adds a reference. A blob is created with reference count zero.

code: void AddRef() const


description: Retrieve the object references that need to be exported.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) > CallGetExports() const


description: Deserialize a blob that was serialized with Serialize.

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


description: Deserializes the state if there's a valid descriptor and state buffer.

code: void DeserializeBlob ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: Deserializes the necessary parts of the creation info so that the correct blob can be created.

code: static void DeserializeCreationInfo ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & OutCreationInfo )


description: Deserialize a blob that was serialized with SerializeWithObject.

code: virtual void DeserializeWithObject ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle )


description: Returns theFNetBlobCreationInfo.

code: const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & GetCreationInfo() const


description: Override to return the object references that need to be exported.

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) > GetExports() const


description: Returns the reference count. A blob is created with reference count zero.

code: int32 GetRefCount() const


description: Returns theFReplicationStateDescriptorif there is one. It's recommended to use a descriptor instead of overriding the serialization methods.

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


description: Removes a reference. When the reference count reaches zero the blob will be deleted. A blob is created with reference count zero.

code: void Release() const


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


description: ENetObjectReferenceResolveResult

code: [ENetObjectReferenceResolveResult](API\Runtime\IrisCore\Iris\Core\UE__Net__ENetObjectReferenceReso-) ResolveObjectReferences ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context ) const


description: Serialize the blob.

code: virtual void Serialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context ) const


description: Serializes the state if there's a valid descriptor and state buffer.

code: void SerializeBlob ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context ) const


description: Serializes the necessary parts of the creation info so that the blob can be recreated on the receiving side.

code: static void SerializeCreationInfo ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & CreationInfo )


description: Serialize the blob together with/targeting a specific object knowing the NetHandle has already been serialized.

code: virtual void SerializeWithObject ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle ) const


description: Set the blob state. Use when there's a descriptor to avoid having to override serialization functions.

code: void SetState ( const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) > & BlobDescriptor, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< uint8 > QuantizedBlobState )


description: Construct a NetBlob with reference count zero.

code: FNetBlob ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & )


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


description: The destructor will free dynamic state, if present, in the state buffer and remove a reference to the descriptor.

code: virtual ~FNetBlob()


className: FNetBlob

code: class FNetBlob

BlobDescriptor

type: TRefCountPtr< c...

description: The state descriptor.

CreationInfo

type: FNetBlobCreatio...

description: The CreationInfo that was passed to the constructor.

QuantizedBlobState

type: TUniquePtr< uin...

description: The state buffer that holds the data described by the descriptor.


description:
After this function has been called it may not be called again until a new blob is ready to be assembled.
The assembled blob.

code: [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > Assemble ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: Add the next expected part of the split blob. If it's the first part of a blob the effects of prior calls to this function are discarded.

code: void AddPartialNetBlob ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle, const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FPartialNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FPartialNetBlob) > & PartialNetBlob )


description: Initialize the NetBlobAssembler.

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


description: Returns true if all parts of the split blob have been added and is ready to be assembled.

code: bool IsReadyToAssemble() const


className: FNetBlobAssembler

description: Utility class to reassemble split blobs. Partial blobs need to be added in order and represent the same blob until it's assembled or an error occurs.

code: class FNetBlobAssembler


className: FNetBlobAssemblerInitParams

code: struct FNetBlobAssemblerInitParams

PartialNetBlobHandlerConfig

type: constUSequenti...


className: FNetBlobCreationInfo

description: Information typically passed to aFNetBlobat creation time. Flags will not be serialized unless theFNetBlobderived class chooses to do so.

code: struct FNetBlobCreationInfo

Flags

type: ENetBlobFlags

Type

type: FNetBlobType


description: Serializes the owner and subobject reference.

code: void DeserializeObjectReference ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


className: FNetBlobType

code: typedef uint32 FNetBlobType


description: Deserializes a subobject reference that was serialized using SerializeSubObjectReference with the same NetHandle.

code: void DeserializeSubObjectReference ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle )


code: void SerializeObjectReference ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context ) const


code: const [FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) & GetNetObjectReference() const


description: Serializes only the subobject reference and assumes the passed NetHandle is the owner.

code: void SerializeSubObjectReference ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle ) const


code: FNetObjectAttachment ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & )


description: Set the owner and subobject references.

code: void SetNetObjectReference ( const [FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) & InQueueOwnerReference, const [FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) & InTargetObjectReference )


className: FNetObjectAttachment

description: UReplicationSystem::QueueNetObjectAttachment

code: class FNetObjectAttachment : public [UE::Net::FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob)

NetObjectReference

type: FNetObjectRefer...

description: The owner reference.

TargetObjectReference

description: The subobject reference.


className: FSplitParams

code: struct FSplitParams

bSerializeWithObject

type: bool

DebugName

type: FNetDebugName


code: const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & GetOriginalCreationInfo() const


description: This will only return legible data for the first part on the receiving end.

code: uint32 GetPartCount() const


code: const uint32 * GetPayload() const


description: Split a RawDataNetBlob into multiple PartialNetBlobs. The blob will be split even if the original one didn't need it.

code: static bool SplitNetBlob ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & CreationInfo, const [FSplitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FPartialNetBlob\FSplitParams) & SplitParams, const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FRawDataNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FRawDataNetBlob) > & Blob, [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) >> & OutPartialBlobs )


code: void SetDebugName ( const [FNetDebugName](API\Runtime\NetCore\Net\Core\Trace\FNetDebugName) & InDebugName )


code: uint32 GetPayloadBitCount() const


description: Split a NetBlob into multiple PartialNetBlobs. The blob will be split even if the original one didn't need it.

code: static bool SplitNetBlob ( const [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & CreationInfo, const [FSplitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FPartialNetBlob\FSplitParams) & SplitParams, const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > & Blob, [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) >> & OutPartialBlobs )


className: FPartialNetBlob

code: class FPartialNetBlob : public [UE::Net::FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob)


code: FPartialNetBlob ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & CreationInfo )


description: Returns the raw data.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const uint32 > GetRawData() const


description: Returns the number of valid bits in the raw data.

code: uint32 GetRawDataBitCount() const


description: Deserializes the raw data.

code: void InternalDeserialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: Serializes the raw data.

code: void InternalSerialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context ) const


description: Set the raw data via moving an array.

code: void SetRawData ( [TArray](API\Runtime\Core\Containers\TArray)< uint32 > && RawData, uint32 RawDataBitCount )


description: Set the raw data. The data is copied.

code: void SetRawData ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const uint32 > RawData, uint32 RawDataBitCount )


code: FRawDataNetBlob ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlobCreationInfo) & )


className: FRawDataNetBlob

description: Sending huge blobs that require splitting and assembling is strongly discouraged.

code: class FRawDataNetBlob : public [UE::Net::FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob)


description: Serialize

code: void CommitReplicationRecord ( [ReplicationRecord](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FReliableNetBlobQueue\ReplicationRecor-) Record )


className: Constants

code: enum Constants { IndexBitCount = 8U, }


description: Serialize

code: uint32 Deserialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: SerializeWithObject

code: uint32 DeserializeWithObject ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle )


description: Put a blob to be sent in the queue. Returns true if the blob was successfully queued and false if the queue was full.

code: bool Enqueue ( const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > & Blob )


description: Returns the number of blobs that have not yet been sent.

code: uint32 GetUnsentBlobCount() const


className: InvalidReplicationRecord

description: This represents a ReplicationRecord where nothing was serialized.

code: static constexpr uint32 InvalidReplicationRecord = 0U;


description: Returns true if there are unsent blobs. There may still be unacked blobs even if there are no unsent ones.

code: bool HasUnsentBlobs() const


description: Returns true if it's safe to destroy this queue.

code: bool IsSafeToDestroy() const


description: Returns whether all blobs have been sent and acknowledged as received.

code: bool IsAllSentAndAcked() const


className: MaxUnackedBlobCount

description: How many blobs can be sent before an ACK/NAK is required to continue sending.

code: static constexpr uint32 MaxUnackedBlobCount = 256U;


description: On the receiving end this will return a pointer to the next blob that can be processed.

code: const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > * Peek() const


description: On the receiving end this will remove the next blob to be processed from the queue. Call after processing the blob returned fromPeek().

code: void Pop()


description: CommitReplicationRecord

code: void ProcessPacketDeliveryStatus ( [EPacketDeliveryStatus](API\Runtime\IrisCore\Iris\PacketControl\UE__Net__EPacketDeliveryStatus) Status, [ReplicationRecord](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FReliableNetBlobQueue\ReplicationRecor-) Record )


className: ReplicationRecord

code: typedef uint32 ReplicationRecord


description:
Serializes as many blobs as possible using their respectiveSerialize()method.
The number of blobs that were serialized.

code: uint32 Serialize ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [ReplicationRecord](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FReliableNetBlobQueue\ReplicationRecor-) & OutRecord )


description:
Serializes as many blobs as possible using their respectiveSerializeWithObject()method. It is assumed the NetRefHandle will be reconstructed somehow on the receiving end and passed toDeserializeWithObject(). This provides an opportunity fot FNetObjectAttachments, such as FNetRPCs, to avoid serializing the same NetRefHandle redundantly.
The number of blobs that were serialized.

code: uint32 SerializeWithObject ( [FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) RefHandle, [ReplicationRecord](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FReliableNetBlobQueue\ReplicationRecor-) & OutRecord )


className: FReliableNetBlobQueue

description: Helper class to deliver blobs reliably in order.

code: class FReliableNetBlobQueue


ReplicationSystem

type: UReplicationSys...


code: FShrinkWrapNetBlob ( const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > & OriginalBlob, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > && Payload, uint32 PayloadBitCount )


className: FShrinkWrapNetBlob

description: Deserialization will always be performed by the original blob type.

code: class FShrinkWrapNetBlob : public [UE::Net::FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob)


code: [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [UE::Net::FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FNetBlob) > CreateNetBlob ( const [FNetBlobCreationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlobCreation-) & ) const


code: void OnNetBlobReceived ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) > & )


className: INetBlobReceiver

description: Interface for being able to receive a NetBlob and forward it to the appropriateUNetBlobHandler.

code: class INetBlobReceiver


description: Flags that can be set at blob creation time.

code: namespace UE { namespace Net { enum ENetBlobFlags { None = 0, Reliable = 1U << 0U, RawDataNetBlob = Reliable << 1U, HasExports = RawDataNetBlob << 1U, } } }


code: namespace UE { namespace Net { [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) & UE::Net::operator&= ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) & Lhs, [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Rhs ) } }


code: namespace UE { namespace Net { [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) & UE::Net::operator^= ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) & Lhs, [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Rhs ) } }


code: namespace UE { namespace Net { constexpr [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) UE::Net::operator& ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Lhs, [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Rhs ) } }


code: namespace UE { namespace Net { constexpr [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) UE::Net::operator^ ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Lhs, [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Rhs ) } }


code: namespace UE { namespace Net { constexpr [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) UE::Net::operator~ ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) E ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) E ) } }


description: Called when a connection is added. For handler specific connection handling.

code: virtual void AddConnection ( uint32 ConnectionId )


description: Create a blob that the handler can process. Forwards to the virtual CreateNetBlob.

code: [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) > CreateNetBlob ( [UE::Net::ENetBlobFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UE__Net__ENetBlobFlags) Flags ) const


description: Override to create the NetBlob. This will be called when receiving a NetBlob of the type this handler is responsible for.

code: virtual TRefCountPtr< FNetBlob > CreateNetBlob &40; const FNetBlobCreationInfo & &41; const


description: Called when a connection is removed. For handler specific connection handling.

code: virtual void RemoveConnection ( uint32 ConnectionId )


className: UNetBlobHandler

description: UReplicationSystem::RegisterNetBlobHandler

code: class UNetBlobHandler : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [INetBlobReceiver](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver)


description: Get the net blob type. The blob type is determined at runtime and can differ from run to run.


code: const [USequentialPartialNetBlobHandlerConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\USequentialParti-_1) * GetConfig() const


code: void Init ( const [FSequentialPartialNetBlobHandlerInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\FSequentialParti-) & InitParams )


description: Unconditionally splits a NetBlob into a sequence of PartialNetBlobs which are small in size. CallsFNetBlob::Serialize().

code: bool SplitNetBlob ( const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) > & Blob, [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) >> & OutPartialBlobs, const [UE::Net::FNetDebugName](API\Runtime\NetCore\Net\Core\Trace\FNetDebugName) * InDebugName ) const


description: Unconditionally splits a NetBlob into a sequence of PartialNetBlobs which are small in size. CallsFNetBlob::SerializeWithObject().

code: bool SplitNetBlob ( const [UE::Net::FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) & NetObjectReference, const [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) > & Blob, [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FNetBlob](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\INetBlobReceiver\FNetBlob) >> & OutPartialBlobs, const [UE::Net::FNetDebugName](API\Runtime\NetCore\Net\Core\Trace\FNetDebugName) * InDebugName ) const


code: USequentialPartialNetBlobHandler()


className: USequentialPartialNetBlobHandler

code: class USequentialPartialNetBlobHandler : public [UNetBlobHandler](API\Runtime\IrisCore\Iris\ReplicationSystem\NetBlob\UNetBlobHandler)

description: Convenience.


description: UNetBlobHandlerAPI. Not exposed to subclasses.


code: uint32 GetMaxPartBitCount() const


className: USequentialPartialNetBlobHandlerConfig

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

MaxPartBitCount

description: How many bits a PartialNetBlob payload can hold at most.

MaxPartCount

description: How many parts a NetBlob can be split into at most.


className: FNetObjectPrePrioritizationParams

description: Parameters passed to the prioritizer's PrePrioritize call.


className: FNetObjectPrioritizationInfo

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

code: struct FNetObjectPrioritizationInfo


className: FNetObjectPrioritizationParams

description: The prioritizer should honor the existing priority set for an object and only update the priority if the calculated value is higher than what is already stored. Prioritize() is only allowed to modify Priorities.

code: struct FNetObjectPrioritizationParams

ConnectionId

description: ID of the connection that objects are prioritized for.

ObjectCount

description: The number of objects to prioritize.

ObjectIndices

type: const uint32 &#...

description: The indices for the objects that are being prioritized.

Priorities

type: float *

description: Priorities for all objects.

PrioritizationInfos

type: constFNetObjec...

description: PrioritizationInfos for all objects.

StateBuffers

type: uint8 *cons...

description: State buffers for all objects.

View

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


className: FNetObjectPrioritizerAddObjectParams

description: Parameters passed to the prioritizer's AddObject() call.

InstanceProtocol

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

description: The FReplicationInstanceProtocol which describes the source state data.

OutInfo

type: FNetObjectPrior...

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

Protocol

description: The FReplicationProtocol which describes the internal state data.

StateBuffer

type: const uint8 ...

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


className: FNetObjectPostPrioritizationParams

description: Parameters passed to the prioritizer's PostPrioritize call.


className: FNetObjectPrioritizerInitParams

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

code: struct FNetObjectPrioritizerInitParams

Config

type: UNetObjectPrior...

description: Optional config as set in the FNetObjectPrioritizerDefinition.

MaxConnectionCount

description: The maximum number of connections in the system.

MaxObjectCount

description: The maximum number of objects in the system.

ReplicationSystem

type: TObjectPtr< con...

description: The ReplicationSystem that owns the prioritizer.


className: FNetObjectPrioritizerUpdateParams

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

InstanceProtocols

description: InstanceProtocols for updated objects.

ObjectCount

description: The number of objects that have been updated.

ObjectIndices

description: Indices of the updated objects.

PrioritizationInfos

description: Infos for all objects.

StateBuffers

description: State buffers for all objects.


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

code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectPrioritizerAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_2) & Params )


code: uint32 GetLocationIndex&40;&41; const


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


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


className: FObjectLocationInfo

code: struct FObjectLocationInfo : public [FNetObjectPrioritizationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-)


code: VectorRegister GetLocation ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\ULocationBasedNe-\FObjectLocationI-) & Info ) const


description: Called once at init time before any other calls to the prioritizer.

code: virtual void Init ( [FNetObjectPrioritizerInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_3) & Params )


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


className: InvalidStateOffset

code: enum { InvalidStateOffset = 65535U }


className: InvalidStateIndex

code: enum { InvalidStateIndex = 65535U }


description: An object do no longer want to use this prioritizer.

code: virtual void RemoveObject ( uint32 ObjectIndex, const [FNetObjectPrioritizationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-) & Info )


className: LocationsChunkSize

code: enum { LocationsChunkSize = 64*1024 }


code: void SetLocation ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\ULocationBasedNe-\FObjectLocationI-) & Info, VectorRegister Location )


code: void UpdateLocation ( const uint32 ObjectIndex, const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\ULocationBasedNe-\FObjectLocationI-) & Info, const UE::Net::FReplicationInstanceProtocol * InstanceProtocol )


description: A set of objects used by this prioritizer have been updated. An opportunity for the prioritizer to update cached data.

code: virtual void UpdateObjects ( [FNetObjectPrioritizerUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_4) & )


code: ULocationBasedNetObjectPrioritizer()


className: ULocationBasedNetObjectPrioritizer

code: class ULocationBasedNetObjectPrioritizer : public [UNetObjectPrioritizer](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\UNetObjectPrioritizer)


className: UNetObjectCountLimiterConfig

code: class UNetObjectCountLimiterConfig : public [UNetObjectPrioritizerConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\UNetObjectPriori-)

bEnableOwnedObjectsFastLane

description: Whether objects owned by the connection should always be considered for replication.

MaxObjectCount

description: How many objects to be considered for replication each frame.

Mode

type: ENetObjectCount...

OwningConnectionPriority

type: float

description: The priority to set for a considered object if it's owned by the connection being prioritized for.

Priority

description: Which priority to set for objects considered for replication.


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

code: virtual void AddConnection ( uint32 ConnectionId )


code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectPrioritizerAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_2) & Params )


className: FBatchParams

code: struct FBatchParams


code: void SetOwningConnection &40; uint32 ConnectionId &41;


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


className: FObjectInfo

code: struct FObjectInfo : public [FNetObjectPrioritizationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-)


className: FPerConnectionInfo

code: struct FPerConnectionInfo

LastConsiderFrames

type: TArray< uint32 ...

description: Which frame was this object last considered for replication for this connection.


code: uint32 GetLastConsiderFrame ( uint32 ConnectionId, uint32 ObjectIndex ) const


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

code: virtual void PrePrioritize ( [FNetObjectPrePrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPrePri-) & )


code: virtual void Init ( [FNetObjectPrioritizerInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_3) & Params )


className: ObjectGrowCount

description: Keep the ObjectGrowCount fairly low as allocation size = ObjectGrowCount * max number of connections * size for per object info.

code: enum { ObjectGrowCount = 64U }


description: Prioritize a batch of objects. There may be multiple calls to this function even for the same connection. Stored priorities are expected to use the maximum of the already stored priority and the prioritizer calculated one. That allows multiple prioritizers to be used on the same object.

code: virtual void Prioritize ( [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & )


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

code: virtual void RemoveConnection ( uint32 ConnectionId )


code: virtual void RemoveObject ( uint32 ObjectIndex, const [FNetObjectPrioritizationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-) & Info )


code: void SetLastConsiderFrame ( uint32 ConnectionId, uint32 ObjectIndex, uint32 FrameNumber )


code: virtual void UpdateObjects ( [FNetObjectPrioritizerUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_4) & )


className: UNetObjectPrioritizerConfig

description: FNetObjectPrioritizerDefinition

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


description: IfPrePrioritize()was called thenPostPrioritize()will be called exactly once after allPrioritize()calls.

code: virtual void PostPrioritize ( [FNetObjectPostPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPostPr-) & )


code: virtual void AddConnection ( uint32 ConnectionId )


className: UNetObjectCountLimiter

code: class UNetObjectCountLimiter : public [UNetObjectPrioritizer](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\UNetObjectPrioritizer)


description: If supporting multiple prioritizers each prioritizer needs to be careful to honor the existing priority? Or enforce via logic MAXing between runs, requires temp storage.

code: UNetObjectPrioritizer()


className: UNetObjectPrioritizer

description: NetObjectPrioritizers are responsible for determining how important it is to replicate an object. Priorities should be at least 0.0f, meaning no need to replicate. At 1.0f objects are being considered for replication. Priorities are acumulated per object and connection until it's replicated, at which point the priority is reset to zero. Bandwidth constraints and other factors may cause a highly prioritized object to still not be replicated to a particular connection a certain frame. There is no mechanism to force an object to be replicated a certain frame, but the priority is a major factor in the decision.

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


code: struct FBatchParams

Positions

type: VectorRegister ...

Priorities

description: 16-byte aligned pointer to priorities.

PriorityCalculationConstants

type: FPriorityCalcul...


code: void FinishBatch ( const [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams, [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 ObjectIndexStartOffset )


className: FPriorityCalculationConstants

code: struct FPriorityCalculationConstants

InnerRadius

type: VectorRegister


code: void PrepareBatch ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams, const [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 ObjectIndexStartOffset )


code: void PrioritizeBatch ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams )


description: Note that PrioFactor only need to be calculated once for all objects.

code: void PrioritizeBatchForSingleView ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams )


code: void PrioritizeBatchForMultiView ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams )


code: void PrioritizeBatchForDualView ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & BatchParams )


code: void SetupBatchParams ( [FBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FBatchParams) & OutBatchParams, const [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 MaxBatchObjectCount, [FMemStackBase](API\Runtime\Core\Misc\FMemStackBase) & Mem )


code: void SetupCalculationConstants ( [FPriorityCalculationConstants](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereNetObject-\FPriorityCalcula-) & OutConstants )


className: USphereNetObjectPrioritizerConfig

code: class USphereNetObjectPrioritizerConfig : public [UNetObjectPrioritizerConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\UNetObjectPriori-)

InnerPriority

description: Priority for objects inside the inner sphere

OuterPriority

description: Priority at the border of the outer sphere

OutsidePriority

description: Priority outside the sphere


className: USphereNetObjectPrioritizer

code: class USphereNetObjectPrioritizer : public [ULocationBasedNetObjectPrioritizer](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\ULocationBasedNe-)

Config

type: TStrongObjectPt...


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

code: virtual bool AddObject ( uint32 ObjectIndex, [FNetObjectPrioritizerAddObjectParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_2) & Params )


code: void BoostOwningConnectionPriorities ( [FOwnerBoostBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereWithOwner-\FOwnerBoostBatch-) & BatchParams ) const


className: ConnectionId

code: typedef uint16 ConnectionId


code: void FinishBatch ( const [FOwnerBoostBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereWithOwner-\FOwnerBoostBatch-) & BatchParams, [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 ObjectIndexStartOffset )


className: FOwnerBoostBatchParams

code: struct FOwnerBoostBatchParams : public FBatchParams

OwnedObjectCount

description: The number of owned objects in this batch.

OwnedObjectsLocalIndices

type: uint32 *

description: Batch indices for objects owned by the connection being prioritized for.

OwnerPriorityBoost

description: How much to add to the priority for owned objects.


code: void FreeOwningConnection ( uint32 Index )


code: uint32 GetOwningConnection ( const [FObjectLocationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\ULocationBasedNe-\FObjectLocationI-) & Info ) const


description: Called once at init time before any other calls to the prioritizer.

code: virtual void Init ( [FNetObjectPrioritizerInitParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_3) & Params )


className: OwningConnectionsChunkSize

description: We're not expecting a huge number of objects being added to this prioritizer. A connection ID is two bytes.

code: enum { OwningConnectionsChunkSize = 2U*1024U }


className: InvalidConnectionID

code: enum { InvalidConnectionID = 0U }


code: void PrepareBatch ( [FOwnerBoostBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereWithOwner-\FOwnerBoostBatch-) & BatchParams, const [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 ObjectIndexStartOffset )


code: virtual void Prioritize ( [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & )


code: void PrioritizeBatch ( [FOwnerBoostBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereWithOwner-\FOwnerBoostBatch-) & BatchParams )


description: An object do no longer want to use this prioritizer.

code: virtual void RemoveObject ( uint32 ObjectIndex, const [FNetObjectPrioritizationInfo](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-) & Info )


code: void SetupBatchParams ( [FOwnerBoostBatchParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\USphereWithOwner-\FOwnerBoostBatch-) & OutBatchParams, const [FNetObjectPrioritizationParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_1) & PrioritizationParams, uint32 MaxBatchObjectCount, [FMemStackBase](API\Runtime\Core\Misc\FMemStackBase) & Mem )


description: A set of objects used by this prioritizer have been updated. An opportunity for the prioritizer to update cached data.

code: virtual void UpdateObjects ( [FNetObjectPrioritizerUpdateParams](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\FNetObjectPriori-_4) & )


AssignedOwningConnectionIndices

description: Which indices in OwningConnections are in use.

OwningConnections

type: TChunkedArray< ...

description: The IDs of the objects' owning connection.


OwnerPriorityBoost

description: Priority boost for the owning connection.


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


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


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


code: static bool InternalCompareArrayElement ( const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * ArrayElementDescriptor, void *__restrict Dst, const void *__restrict Src )


code: static void InternalCopyArrayElement ( const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * ArrayElementDescriptor, void *__restrict Dst, const void *__restrict Src )


code: void Register ( [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Context, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) InTraits )


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: FFastArrayReplicationFragmentBase ( [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, bool bValidateDescriptor )


className: FFastArrayReplicationFragmentBase

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

Owner

type: UObject*

description: Owner.

ReplicationState

type: TUniquePtr<FPr...

description: This is the source state from which we source our state data.

ReplicationStateDescriptor

type: TRefCountPtr< c...

description: Replication descriptor built for the specific property.

description: This allows us to quickly find the wrapped array relative to the owner.


description: Apply received state and try to behave like current FastArrays

code: template<typename FastArrayType, typename ItemArrayType> static void ApplyReplicatedState ( FastArrayType * DstFastArray, ItemArrayType * DstWrappedArray, FastArrayType * SrcFastArray, const ItemArrayType * SrcWrappedArray, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * ArrayElementDescriptor, [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context )


description: Conditionally invoke PostReplicatedReceive method depending on if it is defined or not We only want to do this for FastArrays that define PostReplicatedReceive since it might require extra work to calculate the required parameters

code: template<typename FastArrayType> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [FFastArraySerializer::CPostReplicatedReceiveFuncable](API\Runtime\NetCore\Net\Serialization\FFastArraySerializer\CPostReplicatedR-), FastArrayType, const [FFastArraySerializer::FPostReplicatedReceiveParameters](API\Runtime\NetCore\Net\Serialization\FFastArraySerializer\FPostReplicatedR-) & >, void >::Type CallPostReplicatedReceiveOrNot ( FastArrayType & ArraySerializer, bool bHasUnresolvedReferences )


code: template<typename FastArrayType> static [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!TModels_V< [FFastArraySerializer::CPostReplicatedReceiveFuncable](API\Runtime\NetCore\Net\Serialization\FFastArraySerializer\CPostReplicatedR-), FastArrayType, const [FFastArraySerializer::FPostReplicatedReceiveParameters](API\Runtime\NetCore\Net\Serialization\FFastArraySerializer\FPostReplicatedR-) & >, void >::Type CallPostReplicatedReceiveOrNot ( FastArrayType & ArraySerializer, bool bHasUnresolvedReferences )


description: Rebuild IndexMap for FastArrraySerializer

code: template<typename FastArrayType, typename ItemArrayType> static void ConditionalRebuildItemMap ( FastArrayType & ArraySerializer, const ItemArrayType & Items )


description: Find the member index of the FastArrayIteArray, used to support FastArrayNetSerializers with extra properties

code: static uint32 GetFastArrayStructItemArrayMemberIndex ( const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * StructDescriptor )


description: Compare array element, only replicated items will be compared


description: Copy array element, only replicated items will be copied


className: FFastArrayReplicationFragmentHelper

description: Utility methods to behave similar to FastArraySerializer


code: static void ToString ( FStringBuilderBase & StringBuilder, const uint8 * ExternalStateBuffer, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * FastArrayPropertyDescriptor )


description: Dequantize state into DstExternalBuffer, note it is expected to be initialized.

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


code: FNativeFastArrayReplicationFragmentBase ( [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: FNativeFastArrayReplicationFragmentBase

description: Native FastArray.

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

Owner

description: Owner.


className: FNeedPollingPolicy

description: FNeedPollingPolicy, used for Native Iris FastArrays that does not need polling

code: class FNeedPollingPolicy


className: FNoPollingPolicy

description: FNeedPollingPolicy, used for Native Iris FastArrays that do not require polling

code: class FNoPollingPolicy


className: FPollingState

code: struct FPollingState

ItemPollData

type: TArray<FEntry...


description: TFastArrayReplicationFragmentimplementation

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


className: EAllowAdditionalPropertiesType

code: enum EAllowAdditionalPropertiesType { AllowAdditionalProperties, }


description: Get FastArraySerializer from our cached ReplicationState.

code: FastArrayType * GetFastArraySerializerFromReplicationState() const


description: Get FastArraySerializer from owner.

code: FastArrayType * GetFastArraySerializerFromOwner() const


description: Get FastArraySerialzier from received state.

code: FastArrayType * GetFastArraySerializerFromApplyContext ( [FReplicationStateApplyContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationStateApplyContext) & Context ) const


description: Returns true if the FastArray is dirty.

code: bool IsDirty() const


className: ItemArrayType

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< FastArrayItemType > ItemArrayType


description: Mark FastArray dirty.

code: void MarkDirty()


code: bool PollAllState ( bool bForceFullCompare )


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 )


code: TFastArrayReplicationFragment ( [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 )


code: TFastArrayReplicationFragment ( [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, const [EAllowAdditionalPropertiesType](API\Runtime\IrisCore\Iris\ReplicationSystem\TFastArrayReplicationFragment\EAllowAdditional-) )


className: TFastArrayReplicationFragment

description: TFastArrayReplicationFragment- Binds a typed FastArray to a FReplicationfragment Used to support FFastArray-based serialization with no required code modifications Backed by a PropertyReplicationState which means that we will have to poll source data for dirtiness, in the case of FastArrays this involves comparing the replication key of the array and its items.

code: template<typename FastArrayItemType, typename FastArrayType> class TFastArrayReplicationFragment : public [UE::Net::Private::FFastArrayReplicationFragmentBase](API\Runtime\IrisCore\Iris\ReplicationSystem\Private\FFastArrayReplic-)


description: FReplicationFragmentimplementation.


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 )


code: void Register ( [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Fragments, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Traits )


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


description: TNativeFastArrayReplicationFragmentimplementation

code: TNativeFastArrayReplicationFragment ( [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: TNativeFastArrayReplicationFragment

description: TNativeFastArrayReplicationFragment- Binds a typed FastArray to a FReplicationfragments Used to support FFastArray-based serialization with some minor code modifications The FastArray must be changed to inherit from IrisFastArraySerializer instead ofFFastArraySerializerwhich will inject a ReplicationStateHeader and a fixed size changemask, in it most basic form this allows us to not keep a full copy the fast array to detect dirtiness but instead only store the ReplicationID and ReplicationKeys. We can also provide an alternative interface for editing the FastArrays which allows us update dirtiness directly and skip the poll step completely.

code: template<typename FastArrayItemType, typename FastArrayType, typename PollingPolicyType> class TNativeFastArrayReplicationFragment : public [UE::Net::Private::FNativeFastArrayReplicationFragmentBase](API\Runtime\IrisCore\Iris\ReplicationSystem\Private\FNativeFastArray-)


description: FReplicationFragment.

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


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


description: Replicate.

code: TReplicationFragment ( T & OwnerIn, ReplicationStateT & SrcReplicationState )


description: Receive only.

code: TReplicationFragment ( T & OwnerIn )


className: TReplicationFragment

description: Typed replication fragments are used when we have generated ReplicationStates and will call the SetReplicatedState method on the parent class $IRIS TODO: Introduce policies based on ReplicationStateTraits, i.e. should we call other functions on Init etc?

code: template<typename T, typename ReplicationStateT> class TReplicationFragment : protected [UE::Net::FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment)


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 EDependentObjectSchedulingHint { Default = 0, ScheduleBeforeParent, ScheduleBeforeParentIfInitialState, } } }


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


code: namespace UE { namespace Net { enum EFragmentRegistrationFlags { None = 0U, RegisterRPCsOnly = 1U, InitializeDefaultStateFromClassDefaults = RegisterRPCsOnly << 1U, AllowFastArraysWithAdditionalProperties = InitializeDefaultStateFromClassDefaults << 1U, } } }


code: namespace UE { namespace Net { enum EReplicationStateToStringFlags { None = 0U, OnlyIncludeDirtyMembers = 1U, } } }


code: namespace UE { namespace Net { enum EReplicationFragmentPollFlags { None = 0, ForceRefreshCachedObjectReferencesAfterGC = 1, PollAllState = ForceRefreshCachedObjectReferencesAfterGC << 1, } } }


code: namespace UE { namespace Net { enum EReplicationFragmentTraits { None = 0, HasInterpolation = 1, HasRepNotifies = HasInterpolation << 1, KeepPreviousState = HasRepNotifies << 1, DeleteWithInstanceProtocol = KeepPreviousState << 1, HasPersistentTargetStateBuffer = DeleteWithInstanceProtocol << 1, CanReplicate = HasPersistentTargetStateBuffer << 1, CanReceive = CanReplicate << 1, NeedsPoll = CanReceive << 1, NeedsLegacyCallbacks = NeedsPoll << 1, NeedsPreSendUpdate = NeedsLegacyCallbacks << 1, NeedsWorldLocationUpdate = NeedsPreSendUpdate << 1, HasPushBasedDirtiness = NeedsWorldLocationUpdate << 1, HasPropertyReplicationState = HasPushBasedDirtiness << 1, HasObjectReference = HasPropertyReplicationState << 1, } } }


description: The invalid RepTag can be used for purposes where one wants to know if there's a valid tag or not. It cannot be a constant like RepTag_Invalid as that would require us to prevent a tag from being called Invalid or cause mismatching values if someone calls a tag Invalid. So it's implemented as a function instead.

code: namespace UE { namespace Net { constexpr [FRepTag](API\Runtime\IrisCore\Iris\ReplicationState\FRepTag) UE::Net::GetInvalidRepTag() } }


code: namespace UE { namespace Net { uint64 UE::Net::GetObjectIdForNetTrace ( const [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) & Handle ) } }


code: namespace UE { namespace Net { [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * UE::Net::GetReplicationSystem ( uint32 Id ) } }


code: namespace UE { namespace Net { uint32 UE::Net::GetTypeHash ( const [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) & Handle ) } }


code: namespace UE { namespace Net { uint32 UE::Net::GetTypeHash ( const [FNetToken](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetToken) & Token ) } }


code: namespace UE { namespace Net { [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) & UE::Net::operator&= ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) & Lhs, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Rhs ) } }


code: namespace UE { namespace Net { [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) & UE::Net::operator&= ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) & Lhs, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Rhs ) } }


code: namespace UE { namespace Net { [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) & UE::Net::operator&= ( [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) & Lhs, [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) Rhs ) } }


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


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


code: namespace UE { namespace Net { [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) & UE::Net::operator^= ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) & Lhs, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Rhs ) } }


code: namespace UE { namespace Net { [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) & UE::Net::operator&= ( [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) & Lhs, [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Rhs ) } }


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


code: namespace UE { namespace Net { constexpr [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) UE::Net::operator& ( [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Lhs, [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) UE::Net::operator& ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Lhs, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) UE::Net::operator& ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Lhs, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) UE::Net::operator& ( [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) Lhs, [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) UE::Net::operator^ ( [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Lhs, [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) UE::Net::operator^ ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Lhs, [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) UE::Net::operator^ ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Lhs, [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) Rhs ) } }


code: namespace UE { namespace Net { constexpr [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) UE::Net::operator^ ( [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) Lhs, [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) Rhs ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) E ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) E ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) E ) } }


code: namespace UE { namespace Net { constexpr bool UE::Net::operator! ( [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) E ) } }


code: namespace UE { namespace Net { constexpr [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) UE::Net::operator~ ( [EReplicationStateToStringFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-) E ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) UE::Net::operator~ ( [EReplicationFragmentTraits](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplicationFragmentTra-) E ) } }


code: namespace UE { namespace Net { constexpr [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) UE::Net::operator~ ( [EFragmentRegistrationFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EFragmentRegistrationFl-) E ) } }


code: namespace UE { namespace Net { constexpr [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) UE::Net::operator~ ( [EReplicationFragmentPollFlags](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EReplic-_1) E ) } }


code: namespace UE { namespace Net { namespace Private { template<typename FastArrayType> [FReplicationFragment](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationFragment) * UE::Net::Private::CreateAndRegisterFragment ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, const [FReplicationStateDescriptor](API\Runtime\IrisCore\Iris\ReplicationState\FReplicationStateDescriptor) * Descriptor, [FFragmentRegistrationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FFragmentRegistrationContext) & Context ) } } }


description: There is no guarantee that the data will end up in the same packet so it is a very loose form of dependency.

code: void AddDependentObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Parent, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) DependentObject, [UE::Net::EDependentObjectSchedulingHint](API\Runtime\IrisCore\Iris\ReplicationSystem\UE__Net__EDepend-) SchedulingHint )


description: Add static destruction info, this is used when stably named objects are destroyed prior to starting replication

code: void AddStaticDestructionInfo ( const [FString](API\Runtime\Core\Containers\FString) & ObjectPath, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer, const [FEndReplicationParameters](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FEndReplicationP-) & Parameters )


description: Called when we instantiate/find object instance requested by remote.

code: virtual [FObjectReplicationBridgeInstantiateResult](API\Runtime\IrisCore\Iris\ReplicationSystem\FObjectReplicati-_1) BeginInstantiateFromRemote ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) SubObjectOwnerHandle, const UE::Net::FNetObjectResolveContext & ResolveContext, const [FCreationHeader](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreationHeader) * Header )


description: Begin replicating the Instance and return a valid NetRefHandle for the Instance if successful.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) BeginReplication ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, const [FCreateNetRefHandleParams](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreateNetRefHan-) & Params )


description: Create handle and start replicating the Instance as a SubObject of the OwnerHandle. Begin replicating the Instance as a subobject of the OwnerHandle and return a valid NetRefHandle for the Instance if successful.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) BeginReplication ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) OwnerHandle, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, const [FCreateNetRefHandleParams](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreateNetRefHan-) & Params )


description: Begin replicating the Instance as a subobject of the OwnerHandle. If InsertRelativeSubObjectHandle is valid the new subobject will be inserted in the subobject replication list next to the specified handle and the wanted insertion order. Default behavior is to always add new subobjects at the end of the list. Returns a valid NetRefHandle for the Instance if successful.


description: Transform a poll frequency (in updates per second) to an equivalent number of frames.

code: uint8 ConvertPollFrequencyIntoFrames ( float PollFrequency ) const


description: Read data required to instantiate NetObject from bitstream.


className: DefaultCreateNetRefHandleParams

code: static [FCreateNetRefHandleParams](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreateNetRefHan-) DefaultCreateNetRefHandleParams = { false, false, false, true, 0.0f, 0U, };


description: Deinitializes the bridge. Is called during ReplicationSystem deinitialization.

code: virtual void Deinitialize()


description: Destroy or tear-off the game instance on request from remote.

code: virtual void DestroyInstanceFromRemote ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, EReplicationBridgeDestroyInstanceReason DestroyReason, EReplicationBridgeDestroyInstanceFlags DestroyFlags )


description: Called when we detach instance protocol from the local instance

code: virtual void DetachInstance ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Called when the instance is detached from the protocol on request by the remote.

code: virtual void DetachInstanceFromRemote ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, EReplicationBridgeDestroyInstanceReason DestroyReason, EReplicationBridgeDestroyInstanceFlags DestroyFlags )


description: Invoked after remote NetHandle has been created and initial state is applied.

code: virtual void EndInstantiateFromRemote ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Stop replicating the object.

code: void EndReplication ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, EEndReplicationFlags EndReplicationFlags, [FEndReplicationParameters](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FEndReplicationP-) * Parameters )


className: FCreateNetRefHandleParams

code: struct FCreateNetRefHandleParams

bAllowDynamicFilter

type: bool

PollFrequency

description: How often per second the object should be polled for dirtiness, including calling the InstancePreUpdate function.


code: virtual &126;FCreationHeader&40;&41;


className: FCreationHeader

code: struct FCreationHeader


description: Finds the final poll frequency for a class and cache it for future lookups. OutPollPeriod will only be modified if this method returns true.

code: bool FindOrCachePollFrequency ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class, float & OutPollPeriod )


className: FInstanceGetWorldObjectInfoFunction

description: Helper method to get the world location & cull distance for replicated instances with the HasWorldLocation trait.

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([UE::Net::FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle), const [UObject](API\Runtime\CoreUObject\UObject\UObject) *, FVector &, float &)> FInstanceGetWorldObjectInfoFunction


className: FInstancePreUpdateFunction

description: Helper method that calls provided PreUpdateFunction and polls state data for all replicated instances with the NeedsPoll trait.


description: Trigger replication of dirty state for object wanting to be dormant.

code: void ForceUpdateWantsToBeDormantObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Find the poll period of a class if it was configured with an override. Use this only if all class configs have been properly cached. OutPollPeriod will only be modified if this method returns true.

code: bool GetClassPollFrequency ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class, float & OutPollPeriod ) const


description: Current max tick rate set by the engine

code: float GetMaxTickRate() const


description: Lookup theUObjectassociated with the provided Handle. This function will not try to resolve the reference.

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetObjectFromReferenceHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) RefHandle ) const


description: Returns whether the object wants to be dormant.

code: bool GetObjectWantsToBeDormant ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle ) const


description: Get or create NetObjectReference for object instance.

code: [UE::Net::FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) GetOrCreateObjectReference ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance ) const


description: Get or create NetObjectReference for object identified by path relative to outer.

code: [UE::Net::FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) GetOrCreateObjectReference ( const [FString](API\Runtime\Core\Containers\FString) & Path, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer ) const


description: Returns the poll frequency of a specific root object.

code: virtual float GetPollFrequencyOfRootObject ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * ReplicatedObject ) const


description: Get the Object from a replicated handle, if the handle is invalid or not is a replicated handle the function will return nullptr

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetReplicatedObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle ) const


description: Get NetRefHandle from a replicatedUObject.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) GetReplicatedRefHandle ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object ) const


description: Get NetRefHandle from a NetHandle.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) GetReplicatedRefHandle ( [FNetHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetHandle) Handle ) const


description: Initializes the bridge. Is called during ReplicationSystem initialization.

code: virtual void Initialize ( [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * InReplicationSystem )


description: Re-initialize config-driven parameters found in ObjectReplicationBridgeConfig.

code: void LoadConfig()


description: Returns true of the level that the Object belongs to has finished loading.

code: virtual bool ObjectLevelHasFinishedLoading ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object ) const


description: Invoked before we start applying state data to instance on remote end.

code: virtual bool OnInstantiatedFromRemote ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, const [FCreationHeader](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreationHeader) * InHeader, uint32 ConnectionId ) const


description: Invoke after we have applied the initial state for an object.

code: virtual void PostApplyInitialState ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Invoked before ReplicationSystem copies dirty state data.

code: virtual void PreSendUpdate()


description: Invoked before ReplicationSystem copies dirty state data for a single replicated object.

code: virtual void PreSendUpdateSingleHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Invoked post garbage collect to allow us to detect stale objects

code: virtual void PruneStaleObjects()


description: Create Header and read data required to instantiate the Handle.

code: virtual [FCreationHeader](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FCreationHeader) * ReadCreationHeader ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context )


description: Re-initialize the poll frequency of all replicated root objects.

code: void ReinitPollFrequency()


description: PIE package name remapping support.

code: virtual bool RemapPathForPIE ( uint32 ConnectionId, [FString](API\Runtime\Core\Containers\FString) & Path, bool bReading ) const


description: Remove dependent object from parent. The dependent object will function as a standard standalone replicated object.

code: void RemoveDependentObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Parent, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) DependentObject )


description: Try to resolveUObjectfrom NetObjectReference, this function tries to resolve the object by loading if necessary.

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * ResolveObjectReference ( const [UE::Net::FNetObjectReference](API\Runtime\IrisCore\Iris\Core\FNetObjectReference) & ObjectRef, const UE::Net::FNetObjectResolveContext & ResolveContext )


description: Set the function that we should call to get the world location of an object.


description: Change the max tick rate to match the one from the engine

code: void SetMaxTickRate ( float InMaxTickRate )


description: Set whether object should go dormant. If dormancy is enabled any dirty state will be replicated first.

code: void SetObjectWantsToBeDormant ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, bool bWantsToBeDormant )


description: Force polling of Object when ObjectToPollWith is polled.

code: void SetPollWithObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) ObjectToPollWith, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Object )


description: Set the function used to determine whether two classes are to be considered equal when it comes to filtering. Used on subclasses.

code: void SetShouldSubclassUseSameFilterFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [UClass](API\Runtime\CoreUObject\UObject\UClass) *Class, const [UClass](API\Runtime\CoreUObject\UObject\UClass) *Subclass)> )


description: Set the function used to determine whether an object should use the default spatial filter unless the class is configured to use some other filter.

code: void SetShouldUseDefaultSpatialFilterFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [UClass](API\Runtime\CoreUObject\UObject\UClass) *)> )


description: As the filtering is done at the serialization level it is typically more efficient to use a separate NetObject for connection specific data as filtering can then be done at a higher level.

code: void SetSubObjectNetCondition ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) SubObjectHandle, ELifetimeCondition Condition )


description: Update world locations in FWorldLocations for objects that support it.


description: $IRIS TODO: Consider moving these methods to separate interface to allow for a single ObjectReplicationBridge to support different type specific methods to its own interface and allow for a single bridge to support multiple subtypes? We will see what we need when we start to Serialize data we might not even want to expose virtual methods for doing this, and instead provide support for specifying a "creation state" that works exactly as any other state but only ever is replicated when we first instantiate an object of the specific type Write data required to instantiate the Handle.

code: virtual bool WriteCreationHeader ( [UE::Net::FNetSerializationContext](API\Runtime\IrisCore\Iris\Serialization\FNetSerializationContext) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Set the function that we should call before copying state data.

code: void SetInstancePreUpdateFunction ( [FInstancePreUpdateFunction](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridge\FInstancePreUpda-) InPreUpdateFunction )


description: Write data required to instantiate NetObject remotely to bitstream.

code: virtual bool WriteNetRefHandleCreationInfo ( [FReplicationBridgeSerializationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationBrid-_1) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


code: virtual ~UObjectReplicationBridge()


className: UObjectReplicationBridge

description: Partial implementation of ReplicationBridge that can be used as a foundation for implementing support for replicating objects derived fromUObject

code: class UObjectReplicationBridge : public [UReplicationBridge](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge)


code: static const [UObjectReplicationBridgeConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\UObjectReplicationBridgeConfig) * GetConfig()


code: TConstArrayView< [FObjectReplicationBridgePollConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\FObjectReplicationBridgePollConf-) > GetPollConfigs() const


code: TConstArrayView< [FObjectReplicationBridgePrioritizerConfig](API\Runtime\IrisCore\Iris\ReplicationSystem\FObjectReplicati-_2) > GetPrioritizerConfigs() const


code: UObjectReplicationBridgeConfig()


className: UObjectReplicationBridgeConfig

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


description: Creates a group for a level for object filtering purposes.

code: UE::Net::FNetObjectGroupHandle CreateLevelGroup ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Level )


description: Read data required to instantiate NetObject from bitstream.


description: Deinitializes the bridge. Is called during ReplicationSystem deinitialization.

code: virtual void Deinitialize()


description: Destroys the group associated with the level.

code: void DestroyLevelGroup ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Level )


description: Called when we detach instance protocol from the local instance

code: virtual void DetachInstance ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Called when the instance is detached from the protocol on request by the remote.

code: virtual void DetachInstanceFromRemote ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, EReplicationBridgeDestroyInstanceReason DestroyReason, EReplicationBridgeDestroyInstanceFlags DestroyFlags )


description: Stop replicating the NetObject associated with the handle and mark the handle to be destroyed. If EEndReplication::TearOff is set the remote instance will be Torn-off rather than being destroyed on the receiving end, after the call, any state changes will not be replicated If EEndReplication::Flush is set all pending states will be delivered before the remote instance is destroyed, final state will be immediately copied so it is safe to remove the object after this call If EEndReplication::Destroy is set the remote instance will be destroyed, if this is set for a static instance and the EndReplicationParameters are set a permanent destruction info will be added Dynamic instances are always destroyed unless the TearOff flag is set.

code: void EndReplication ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, EEndReplicationFlags EndReplicationFlags, [FEndReplicationParameters](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FEndReplicationP-) * Parameters )


className: ESubObjectInsertionOrder

code: enum ESubObjectInsertionOrder { None, ReplicateWith, }


className: FEndReplicationParameters

code: struct FEndReplicationParameters

bUseDistanceBasedPrioritization

description: Whether to use distance based priority for the destruction of the object.

Level

type: constUObject&...

description: The level the object is placed in.

Location

type: FVector

description: The location of the object. Used for distance based prioritization.


description: Invoked when we start to replicate an object for a specific connection to fill in any initial dependencies

code: virtual void GetInitialDependencies ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, [FNetDependencyInfoArray](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetDependencyIn-) & OutDependencies ) const


description: Get the group associated with the level in order to control connection filtering for it.

code: UE::Net::FNetObjectGroupHandle GetLevelGroup ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Level ) const


code: UE::Net::Private::FObjectReferenceCache * GetObjectReferenceCache() const


code: [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * GetReplicationSystem() const


code: UE::Net::Private::FReplicationStateDescriptorRegistry * GetReplicationStateDescriptorRegistry() const


code: UE::Net::Private::FReplicationProtocolManager * GetReplicationProtocolManager() const


description: Initializes the bridge. Is called during ReplicationSystem initialization.

code: virtual void Initialize ( [UReplicationSystem](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationSystem) * InReplicationSystem )


description: Add destruction info for the referenced object.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) InternalAddDestructionInfo ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle, const [FEndReplicationParameters](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FEndReplicationP-) & Parameters )


description: Add SubObjectHandle as SubObject to OwnerHandle.


description: Attach instance to NetRefHandle.

code: void InternalAttachInstanceToNetRefHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) RefHandle, bool bBindInstanceProtocol, UE::Net::FReplicationInstanceProtocol * InstanceProtocol, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance, [FNetHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetHandle) NetHandle )


description: Create a local NetRefHandle / NetObject using the ReplicationProtocol.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) InternalCreateNetObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) AllocatedHandle, [FNetHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetHandle) GlobalHandle, const UE::Net::FReplicationProtocol * ReplicationProtocol )


code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) InternalCreateNetObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) AllocatedHandle, const UE::Net::FReplicationProtocol * ReplicationProtocol )


description: Create a NetRefHandle / NetObject on request from the authoritative end.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) InternalCreateNetObjectFromRemote ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) WantedNetHandle, const UE::Net::FReplicationProtocol * ReplicationProtocol )


description: Destroy the handle and all internal book keeping associated with it.

code: void InternalDestroyNetObject ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Detach instance from NetRefHandle and destroy the instance protocol.

code: void InternalDetachInstanceFromNetRefHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Get the owner handle of a subobject handle.

code: [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) InternalGetSubObjectOwner ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) SubObjectHandle ) const


description: Returns true if the handle is replicated.

code: bool IsReplicatedHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle ) const


description: Called when destruction info is received to determine whether the instance may be destroyed.

code: virtual bool IsAllowedToDestroyInstance ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Instance ) const


description: Invoke after we have applied the initial state for an object.

code: virtual void PostApplyInitialState ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Invoked before ReplicationSystem copies dirty state data.

code: virtual void PreSendUpdate()


description: Invoked before ReplicationSystem copies dirty state data for a single replicated object.

code: virtual void PreSendUpdateSingleHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Update world locations in FWorldLocations for objects that support it.


description: Set the NetDriver used by the bridge. Called during creation if the NetDriver is recreated.

code: virtual void SetNetDriver ( [UNetDriver](API\Runtime\Engine\Engine\UNetDriver) * NetDriver )


description: Write data required to instantiate NetObject remotely to bitstream.

code: virtual bool WriteNetRefHandleCreationInfo ( [FReplicationBridgeSerializationContext](API\Runtime\IrisCore\Iris\ReplicationSystem\FReplicationBrid-_1) & Context, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge\FNetRefHandle) Handle )


description: Invoked post garbage collect to allow us to detect stale objects

code: virtual void PruneStaleObjects()


description: ReplicationBridge Implementation

code: UReplicationBridge()


className: UReplicationBridge

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


description: Notify that a connection was added.

code: void AddConnection ( uint32 ConnectionId )


description: CreateGroup

code: void AddGroupFilter ( FNetObjectGroupHandle GroupHandle )


description: Clears any previously set squared cull distance for an object. For Actors this will cause affected code to respect the NetCullDistanceSquared property.

code: void ClearCullDistanceSqrOverride ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle )


description: Add an object to a group.

code: void AddToGroup ( FNetObjectGroupHandle GroupHandle, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle )


description: DestroyGroup

code: FNetObjectGroupHandle CreateGroup()


description: CreateGroup

code: void DestroyGroup ( FNetObjectGroupHandle GroupHandle )


description: FObjectReplicationBridgePollConfig

code: void ForceNetUpdate ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle )


className: FReplicationSystemParams

code: struct FReplicationSystemParams

ReplicationBridge

type: UReplicationBri...


description: Returns the previously set squared cull distance for an object, or DefaultValue if it wasn't or the Handle isn't valid.

code: float GetCullDistanceSqrOverride ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle, float DefaultValue ) const


description: SetConnectionUserData

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetConnectionUserData ( uint32 ConnectionId ) const


description: UNetObjectFilterDefinitions

code: [UNetObjectFilter](API\Runtime\IrisCore\Iris\ReplicationSystem\Filtering\UNetObjectFilter) * GetFilter ( const [FName](API\Runtime\Core\UObject\FName) FilterName ) const


description: Returns elapsed time in seconds since ReplicatonSystem was created

code: double GetElapsedTime() const


description: Returns the name of the filter associated to this handle.

code: [FName](API\Runtime\Core\UObject\FName) GetFilterName ( UE::Net::FNetObjectFilterHandle Filter ) const


description: UNetObjectFilterDefinitions

code: UE::Net::FNetObjectFilterHandle GetFilterHandle ( const [FName](API\Runtime\Core\UObject\FName) FilterName ) const


description: The Max number of connections that is supported.

code: uint32 GetMaxConnectionCount() const


description: The unique ID of the ReplicationSystem.

code: uint32 GetId() const


description: UE::Net::FNetCullDistanceOverrides

code: const [UE::Net::FNetCullDistanceOverrides](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetCullDistanceOverrides) & GetNetCullDistanceOverrides() const


description: CreateGroup

code: FNetObjectGroupHandle GetOrCreateSubObjectFilter ( [FName](API\Runtime\Core\UObject\FName) GroupName )


description: SetOwningNetConnection

code: uint32 GetOwningNetConnection ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle ) const


description: UNetObjectPrioritizerDefinitions

code: [UE::Net::FNetObjectPrioritizerHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetObjectPrioritizerHandle) GetPrioritizerHandle ( const [FName](API\Runtime\Core\UObject\FName) PrioritizerName ) const


description: UNetObjectPrioritizerDefinitions

code: [UNetObjectPrioritizer](API\Runtime\IrisCore\Iris\ReplicationSystem\Prioritization\UNetObjectPrioritizer) * GetPrioritizer ( const [FName](API\Runtime\Core\UObject\FName) PrioritizerName ) const


description: TheUReplicationBridgethat was passed with the system creation parameters.

code: [UReplicationBridge](API\Runtime\IrisCore\Iris\ReplicationSystem\UReplicationBridge) * GetReplicationBridge() const


description: TheUReplicationBridgethat was passed with the system creation parameters. Will return nullptr if it cannot be cast to the desired type.

code: template<typename T> T * GetReplicationBridgeAs() const


description:
Get the ReplicationProtocol for a handle.
A valid pointer to the protocol if the handle is valid, nullptr if not.

code: const UE::Net::FReplicationProtocol * GetReplicationProtocol ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle ) const


code: const UE::Net::Private::FReplicationSystemInternal * GetReplicationSystemInternal() const


description: UE::Net::FStringTokenStore

code: const [UE::Net::FStringTokenStore](API\Runtime\IrisCore\Iris\ReplicationSystem\FStringTokenStore) * GetStringTokenStore() const


description: UE::Net::FStringTokenStore


description: Returns the FNetObjectGroupHandle used by a named SubObjectFilter

code: FNetObjectGroupHandle GetSubObjectFilterGroupHandle ( [FName](API\Runtime\Core\UObject\FName) GroupName ) const


description: UE::Net::FWorldLocations

code: const [UE::Net::FWorldLocations](API\Runtime\IrisCore\Iris\ReplicationSystem\FWorldLocations) & GetWorldLocations() const


description: Init data streams for a connection. For internal use by UDataStreamChannel.

code: void InitDataStreams ( uint32 ConnectionId, [UDataStreamManager](API\Runtime\IrisCore\Iris\DataStream\UDataStreamManager) * DataStreamManager )


description:
Check whether an objects belongs to a particular group or not.
true if both handles are valid and the object belongs to the group, false otherwise.

code: bool IsInGroup ( FNetObjectGroupHandle GroupHandle, [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle ) const


description:
Check whether object replication is enabled for a particular connection.
Whether object replication is enabled for the connection.

code: bool IsReplicationEnabledForConnection ( uint32 ConnectionId ) const


description: Whether the system is run on a server.

code: bool IsServer() const


description:
Verify if a connection is valid, that is has been added to the system.
Whether the connection is valid.

code: bool IsValidConnection ( uint32 ConnectionId ) const


description:
Check if a group handle is valid.
true if the group is valid, false if not.

code: bool IsValidGroup ( FNetObjectGroupHandle GroupHandle ) const


description:
Check whether a FNetRefHandle is still associated with a replicated object.
true if the handle is still valid, false if not.

code: bool IsValidHandle ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle ) const


description: FObjectReplicationBridgePollConfig

code: void MarkDirty ( [FNetRefHandle](API\Runtime\IrisCore\Iris\ReplicationSystem\FNetRefHandle) Handle )


description: Cleanup temporaries and prepare for the next send update.

code: void PostSendUpdate()