UMassReplicationProcessorBase

Base processor that handles replication and only runs on the server.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

MassReplication

Header

/Engine/Plugins/Runtime/MassGameplay/Source/MassReplication/Public/MassReplicationProcessorBase.h

Include

#include "MassReplicationProcessorBase.h"

Syntax

UCLASS()
class UMassReplicationProcessorBase : public UMassProcessor_LODBase

Remarks

Base processor that handles replication and only runs on the server. You should derive from this per entity type (that require different replication processing). It and its derived classes query Mass entity fragments and set those values for replication when appropriate, using the MassClientBubbleHandler.

Variables

Name Description

Protected variable

TArray< bool, T...

 

bBubbleChanged

Protected variable

FMassBubbleInfo...

 

BubbleInfoClassHandle

Protected variable UProperty

TArray< AMassCl...

 

BubbleInfos

TODO review if we need to have this as a UPROPERTY at all and also if we can make this use a TInlineAllocator.

Protected variable UProperty Category, EditAnywhere, Meta Config

float

 

BufferHysteresisOnDistancePercentage

Hysteresis percentage on delta between the LOD distances

Protected variable

TArray< FMassCl...

 

CachedClientHandles

Protected variable

FMassEntityQuer...

 

CalculateLODQuery

Protected variable

FMassEntityQuer...

 

CollectViewerInfoQuery

Protected variable

FMassEntityQuer...

 

EntityQuery

Protected variable

TMassLODCalcula...

 

LODCalculator

Protected variable

TMassLODCollect...

 

LODCollector

Protected variable UProperty Category, EditAnywhere Config

float[EMassLOD:...

 

LODDistance

Distance where each LOD becomes relevant

Protected variable UProperty Category, EditAnywhere Config

int32[EMassLOD:...

 

LODMaxCount

Maximum limit of entity per LOD

Protected variable UProperty Category, EditAnywhere Config

int32[EMassLOD:...

 

LODMaxCountPerViewer

Maximum limit of entity per LOD per viewer

Protected variable UProperty

UMassReplicatio...

 

ReplicationManager

Protected variable UProperty Category, EditAnywhere Config

float[EMassLOD:...

 

UpdateInterval

Distance where each LOD becomes relevant

Constructors

Functions

Name Description

Protected function

void

 

CalculateClientReplication

(
    FMassExecutionContext& Context,
    CacheViewsCallback&& CacheViews,
    AddEntityCallback&& AddEntity,
    ModifyEntityCallback&& ModifyEntit...,
    RemoveEntityCallback&& RemoveEntit...
)

Implemented as straight template callbacks as when profiled this was faster than TFunctionRef.

Protected function Virtual

void

 

ConfigureQueries()

Protected function Virtual

void

 

Execute

(
    UMassEntitySubsystem& EntitySubsys...,
    FMassExecutionContext& Context
)

Protected function

T &

 

GetTypedClientBubbleInfoChecked

(
    FMassClientHandle Handle
)

Protected function

void

 

PrepareExecution()

Overridden from UMassProcessor

Name Description

Protected function Virtual

void

 

Initialize

(
    UObject& Owner
)