FObjectReplicator

Represents an object that is currently being replicated or handling RPCs.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/Net/DataReplication.h

Include

#include "Net/DataReplication.h"

Syntax

class FObjectReplicator

Remarks

Represents an object that is currently being replicated or handling RPCs.

NetGUID ObjRef


Properties...

RPCs...


</End Tag>


Variables

Name Description

Public variable

uint32: 1

 

bForceUpdateUnmapped

True if we need to do an unmapped check next frame.

Public variable

uint32: 1

 

bHasReplicatedProperties

Whether or not we've already replicated properties this frame.

Public variable

uint32: 1

 

bLastUpdateEmpty

True if last update (ReplicateActor) produced no replicated properties

Public variable

uint32: 1

 

bOpenAckCalled

Whether or not the Actor Channel on which we're replicating has been Opened / Acked by the receiver.

Public variable

TSharedPtr< cla...

 

ChangelistMgr

Public variable

TUniquePtr< FRe...

 

CheckpointRepState

Public variable

UNetConnection ...

 

Connection

Connection this replicator was created on.

Public variable

UClass *

 

ObjectClass

Public variable

FNetworkGUID

 

ObjectNetGUID

Net GUID for the object we're replicating.

Public variable

UObject *

 

ObjectPtr

Public variable

UActorChannel &...

 

OwningChannel

The Actor Channel that we're replicating on. This expected to be owned by Connection.

Public variable

TArray< FRPCPen...

 

PendingLocalRPCs

Information on RPCs that have been received but not yet executed

Public variable

TSet< FNetworkG...

 

ReferencedGuids

Public variable

TArray< FRPCCal...

 

RemoteFuncInfo

Meta information on pending net RPCs (to be sent)

Public variable

FOutBunch *

 

RemoteFunctions

Public variable

TSharedPtr< FRe...

 

RepLayout

Public variable

TUniquePtr< FRe...

 

RepState

Public variable

int32

 

TrackedGuidMemoryBytes

The amount of memory (in bytes) that we're using to track Unmapped GUIDs.

Constructors

Name Description

Public function

FObjectReplicator()

Destructors

Name Description

Public function

~FObjectReplicator()

Functions

Name Description

Public function

void

 

CallRepNotifies

(
    bool bSkipIfChannelHasQueuedBunches
)

Public function

void

 

CleanUp()

Public function Const

void

 

CountBytes

(
    FArchive& Ar
)

Public function

void

 

ForceRefreshUnreliableProperties()

Public function Const

UObject *...

 

GetObject()

Public function Const

TWeakObjectP...

 

GetWeakObjectPtr()

Public function

void

 

InitRecentProperties

(
    uint8* Source
)

Recent/dirty related functions

Utility function to make a copy of the net properties

Public function

void

 

InitWithObject

(
    UObject* InObject,
    UNetConnection* InConnection,
    bool bUseDefaultState
)

Public function

bool

 

MoveMappedObjectToUnmapped

(
    const FNetworkGUID& GUID
)

Public function

void

 

PostNetReceive()

Public function

void

 

PostReceivedBunch()

Public function

void

 

PostSendBunch

(
    FPacketIdRange& PacketRange,
    uint8 bReliable
)

Public function

void

 

PreNetReceive()

Public function

void

 

QueuePropertyRepNotify

(
    UObject* Object,
    UProperty* Property,
    const int32 ElementIndex,
    TArray< uint8 >& MetaData
)

Public function

void

 

QueueRemoteFunctionBunch

(
    UFunction* Func,
    FOutBunch& Bunch
)

Public function

bool

 

ReadyForDormancy

(
    bool bDebug
)

Public function

bool

 

ReceivedBunch

(
    FNetBitReader& Bunch,
    const FReplicationFlags& RepFlags,
    const bool bHasRepLayout,
    bool& bOutHasUnmapped
)

Public function

void

 

ReceivedNak

(
    int32 NakPacketId
)

Packet was dropped

Public function

bool

 

ReceivedRPC

(
    FNetBitReader& Reader,
    const FReplicationFlags& RepFlags,
    const FFieldNetCache* FieldCac...,
    const bool bCanDelayRPC,
    bool& bOutDelayRPC,
    TSet< FNetworkGUID >& OutUnmappedG...
)

Public function

void

 

ReplicateCustomDeltaProperties

(
    FNetBitWriter& Bunch,
    FReplicationFlags RepFlags
)

Writes dirty properties to bunch

Public function

bool

 

ReplicateProperties

(
    FOutBunch& Bunch,
    FReplicationFlags RepFlags
)

Replicates properties to the Bunch. Returns true if it wrote anything

Public function

bool

 

SendCustomDeltaProperty

(
    UObject* InObject,
    uint16 CustomDeltaProperty,
    FNetBitWriter& OutBunch,
    TSharedPtr< INetDeltaBaseState >& ...,
    TSharedPtr< INetDeltaBaseState >& ...
)

Public function

bool

 

SendCustomDeltaProperty

(
    UObject* InObject,
    UProperty* Property,
    uint32 ArrayIndex,
    FNetBitWriter& OutBunch,
    TSharedPtr< INetDeltaBaseState >& ...,
    TSharedPtr< INetDeltaBaseState >& ...
)

Public function

void

 

SetObject

(
    UObject* NewObj
)

Public function

void

 

StartBecomingDormant()

Public function

void

 

StartReplicating

(
    UActorChannel* InActorChannel
)

Public function

void

 

StopReplicating

(
    UActorChannel* InActorChannel
)

Public function

void

 

UpdateCheckpoint()

Updates the custom delta state for a replay delta checkpoint

Public function

void

 

UpdateGuidToReplicatorMap()

Public function

void

 

UpdateUnmappedObjects

(
    bool& bOutHasMoreUnmapped
)

Public function

bool

 

ValidateAgainstState

(
    const UObject* ObjectState
)

Takes Data, and compares against shadow state to log differences

Public function Const

void

 

WritePropertyHeaderAndPayload

(
    UObject* Object,
    UProperty* Property,
    FNetFieldExportGroup* NetField...,
    FNetBitWriter& Bunch,
    FNetBitWriter& Payload
)

Classes

Deprecated Functions

Name Description

Public function

void

 

Serialize

(
    FArchive& Ar
)

Use CountBytes instead

Public function Static

bool

 

SerializeCustomDeltaProperty

(
    UNetConnection* Connection,
    void* Src,
    UProperty* Property,
    uint32 ArrayIndex,
    FNetBitWriter& OutBunch,
    TSharedPtr< INetDeltaBaseState >& ...,
    TSharedPtr< INetDeltaBaseState >& ...
)

This method will be removed in future versions. Please use SendCustomDeltaProperty instead.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback