UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UReplicationSystem Class Reference

#include <ReplicationSystem.h>

+ Inheritance diagram for UReplicationSystem:

Classes

struct  FReplicationSystemParams
 

Public Member Functions

uint32 GetId () const
 
IRISCORE_API uint32 GetMaxConnectionCount () const
 
bool IsServer () const
 
bool AllowObjectReplication ()
 
IRISCORE_API bool IsUsingRemoteObjectReferences () const
 
IRISCORE_API void NetUpdate (float DeltaSeconds)
 
IRISCORE_API void TickPostReceive ()
 
IRISCORE_API void PreReceiveUpdate ()
 
IRISCORE_API void PostReceiveUpdate ()
 
IRISCORE_API void SendUpdate (TFunctionRef< void(TArrayView< uint32 >)> SendFunction)
 
IRISCORE_API void PostSendUpdate ()
 
IRISCORE_API void AddConnection (uint32 ConnectionId)
 
IRISCORE_API void RemoveConnection (uint32 ConnectionId)
 
IRISCORE_API bool IsValidConnection (uint32 ConnectionId) const
 
IRISCORE_API void SetConnectionGracefullyClosing (uint32 ConnectionId) const
 
IRISCORE_API void SetReplicationEnabledForConnection (uint32 ConnectionId, bool bReplicationEnabled)
 
IRISCORE_API bool IsReplicationEnabledForConnection (uint32 ConnectionId) const
 
IRISCORE_API void SetReplicationView (uint32 ConnectionId, const UE::Net::FReplicationView &View)
 
IRISCORE_API void SetStaticPriority (FNetRefHandle Handle, float Priority)
 
IRISCORE_API bool SetPrioritizer (FNetRefHandle Handle, UE::Net::FNetObjectPrioritizerHandle PrioritizerHandle)
 
IRISCORE_API UE::Net::FNetObjectPrioritizerHandle GetPrioritizerHandle (const FName PrioritizerName) const
 
IRISCORE_API UNetObjectPrioritizerGetPrioritizer (const FName PrioritizerName) const
 
IRISCORE_API UDataStreamGetDataStream (uint32 ConnectionId, FName Name)
 
IRISCORE_API const UDataStreamGetDataStream (uint32 ConnectionId, FName Name) const
 
IRISCORE_API bool IsKnownDataStreamDefinition (FName Name) const
 
IRISCORE_API UDataStreamOpenDataStream (uint32 ConnectionId, FName Name)
 
IRISCORE_API void CloseDataStream (uint32 ConnectionId, FName Name)
 
IRISCORE_API bool RegisterNetBlobHandler (UNetBlobHandler *Handler)
 
IRISCORE_API bool QueueNetObjectAttachment (uint32 ConnectionId, const UE::Net::FNetObjectReference &TargetRef, const TRefCountPtr< UE::Net::FNetObjectAttachment > &Attachment)
 
IRISCORE_API bool SendRPC (const UObject *RootObject, const UObject *SubObject, const UFunction *Function, const void *Parameters)
 
IRISCORE_API bool SendRPC (uint32 ConnectionId, const UObject *RootObject, const UObject *SubObject, const UFunction *Function, const void *Parameters)
 
IRISCORE_API bool SetRPCSendPolicyFlags (const UFunction *Function, UE::Net::ENetObjectAttachmentSendPolicyFlags SendFlags)
 
IRISCORE_API void ResetRPCSendPolicyFlags ()
 
IRISCORE_API UObjectReplicationBridgeGetReplicationBridge () const
 
template<typename T >
T * GetReplicationBridgeAs () const
 
IRISCORE_API UE::Net::FNetTokenStoreGetNetTokenStore ()
 
IRISCORE_API const UE::Net::FNetTokenStoreGetNetTokenStore () const
 
IRISCORE_API UE::Net::FNetTokenResolveContext GetNetTokenResolveContext (uint32 ConnectionId) const
 
IRISCORE_API bool IsNetRefHandleAssigned (FNetRefHandle Handle) const
 
IRISCORE_API const UE::Net::FReplicationProtocolGetReplicationProtocol (FNetRefHandle Handle) const
 
IRISCORE_API const UE::Net::FNetDebugNameGetDebugName (FNetRefHandle Handle) const
 
IRISCORE_API FNetObjectGroupHandle CreateGroup (FName GroupName)
 
IRISCORE_API void DestroyGroup (FNetObjectGroupHandle GroupHandle)
 
IRISCORE_API FNetObjectGroupHandle FindGroup (FName GroupName) const
 
IRISCORE_API void AddToGroup (FNetObjectGroupHandle GroupHandle, FNetRefHandle Handle)
 
IRISCORE_API void RemoveFromGroup (FNetObjectGroupHandle GroupHandle, FNetRefHandle Handle)
 
IRISCORE_API void RemoveFromAllGroups (FNetRefHandle Handle)
 
IRISCORE_API bool IsInGroup (FNetObjectGroupHandle GroupHandle, FNetRefHandle Handle) const
 
IRISCORE_API bool IsValidGroup (FNetObjectGroupHandle GroupHandle) const
 
IRISCORE_API FNetObjectGroupHandle GetNotReplicatedNetObjectGroup () const
 
IRISCORE_API FNetObjectGroupHandle GetNetGroupOwnerNetObjectGroup () const
 
IRISCORE_API FNetObjectGroupHandle GetNetGroupReplayNetObjectGroup () const
 
IRISCORE_API void SetOwningNetConnection (FNetRefHandle Handle, uint32 ConnectionId)
 
IRISCORE_API uint32 GetOwningNetConnection (FNetRefHandle Handle) const
 
IRISCORE_API bool SetFilter (FNetRefHandle Handle, UE::Net::FNetObjectFilterHandle FilterHandle, FName FilterConfigProfile=NAME_None)
 
IRISCORE_API UE::Net::FNetObjectFilterHandle GetFilterHandle (const FName FilterName) const
 
IRISCORE_API UNetObjectFilterGetFilter (const FName FilterName) const
 
IRISCORE_API FName GetFilterName (UE::Net::FNetObjectFilterHandle Filter) const
 
IRISCORE_API bool AddExclusionFilterGroup (FNetObjectGroupHandle GroupHandle)
 
IRISCORE_API bool AddInclusionFilterGroup (FNetObjectGroupHandle GroupHandle)
 
IRISCORE_API void RemoveGroupFilter (FNetObjectGroupHandle GroupHandle)
 
IRISCORE_API void SetGroupFilterStatus (FNetObjectGroupHandle GroupHandle, uint32 ConnectionId, UE::Net::ENetFilterStatus ReplicationStatus)
 
IRISCORE_API void SetGroupFilterStatus (FNetObjectGroupHandle GroupHandle, const UE::Net::FNetBitArray &Connections, UE::Net::ENetFilterStatus ReplicationStatus)
 
IRISCORE_API void SetGroupFilterStatus (FNetObjectGroupHandle GroupHandle, UE::Net::ENetFilterStatus ReplicationStatus)
 
IRISCORE_API FNetObjectGroupHandle GetOrCreateSubObjectFilter (FName GroupName)
 
IRISCORE_API FNetObjectGroupHandle GetSubObjectFilterGroupHandle (FName GroupName) const
 
IRISCORE_API void SetSubObjectFilterStatus (FName GroupName, UE::Net::FConnectionHandle ConnectionHandle, UE::Net::ENetFilterStatus ReplicationStatus)
 
IRISCORE_API void RemoveSubObjectFilter (FName GroupName)
 
IRISCORE_API bool SetReplicationConditionConnectionFilter (FNetRefHandle Handle, UE::Net::EReplicationCondition Condition, uint32 ConnectionId, bool bEnable)
 
IRISCORE_API bool SetReplicationCondition (FNetRefHandle Handle, UE::Net::EReplicationCondition Condition, bool bEnable)
 
IRISCORE_API void SetDeltaCompressionStatus (FNetRefHandle Handle, UE::Net::ENetObjectDeltaCompressionStatus Status)
 
IRISCORE_API void SetIsNetTemporary (FNetRefHandle Handle)
 
IRISCORE_API void TearOffNextUpdate (FNetRefHandle Handle)
 
IRISCORE_API void ForceNetUpdate (FNetRefHandle Handle)
 
IRISCORE_API void MarkDirty (FNetRefHandle Handle)
 
IRISCORE_API const UE::Net::FWorldLocationsGetWorldLocations () const
 
IRISCORE_API void InitDataStreamManager (uint32 ConnectionId, UDataStreamManager *DataStreamManager)
 
IRISCORE_API void SetConnectionUserData (uint32 ConnectionId, UObject *UserData)
 
IRISCORE_API UObjectGetConnectionUserData (uint32 ConnectionId) const
 
int32 GetPIEInstanceID () const
 
IRISCORE_API void SetCullDistanceOverride (FNetRefHandle Handle, float Dist)
 
IRISCORE_API void ClearCullDistanceOverride (FNetRefHandle Handle)
 
IRISCORE_API float GetCullDistance (FNetRefHandle Handle, float DefaultValue=-1.0f) const
 
double GetElapsedTime () const
 
IRISCORE_API void ReportProtocolMismatch (uint64 NetRefHandleId, uint32 ConnectionId)
 
IRISCORE_API void ReportErrorWithNetRefHandle (UE::Net::ENetRefHandleError ErrorType, uint64 NetRefHandleId, uint32 ConnectionId, const TArray< uint64 > &ExtraNetRefHandles)
 
IRISCORE_API void CollectNetMetrics (UE::Net::FNetMetrics &OutNetMetrics) const
 
IRISCORE_API void ResetNetMetrics ()
 
IRISCORE_API UE::Net::FReplicationSystemDelegatesGetDelegates ()
 
UE::Net::Private::FReplicationSystemInternalGetReplicationSystemInternal ()
 
const UE::Net::Private::FReplicationSystemInternalGetReplicationSystemInternal () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FArchive &Ar)
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Member Function Documentation

◆ AddConnection()

void UReplicationSystem::AddConnection ( uint32  ConnectionId)

Notify that a connection was added.

Parameters
ConnectionIdThe ID of the added connection. Must not collide with an existing ID. Must be <= the maximum number of connections.

◆ AddExclusionFilterGroup()

bool UReplicationSystem::AddExclusionFilterGroup ( FNetObjectGroupHandle  GroupHandle)

Add a group to the filtering system. This group is used only for filtering out objects. Exclusion groups are processed before dynamic filters, those implemented by UNetObjectFilter. By default an exclusion group disallows replication for all objects in it. Use SetGroupFilterStatus to change the behavior.

Note
A group can only be either an exclusion group or an inclusion group, not both at the same time.
Parameters
GroupHandleA valid handle to a group.
See also
CreateGroup
AddInclusionFilterGroup
SetGroupFilterStatus
Returns
true if the group was successfully added as an exclusion group, false in all other cases such as being an invalid group, reserved group or used as an inclusion filter.

◆ AddInclusionFilterGroup()

bool UReplicationSystem::AddInclusionFilterGroup ( FNetObjectGroupHandle  GroupHandle)

Add a group to the filtering system. This group is used only for allowing replication of objects. Inclusion groups are processed after dynamic filters, those implemented by UNetObjectFilter. Inclusion groups are used to allow overriding the effect of dynamic filtering which can be useful to always allow replication of team specific objects for example. By default the group will not override the effects of dynamic filtering. Use SetGroupFilterStatus to set which connection the objects should be allowed to replicate to, overriding the dynamic filtering.

Note
A group can only be either an exclusion group or an inclusion group, not both at the same time.
Subobjects added to inclusion groups will be ignored during processing. A subobject's filter status is determined by the root object. For subobject filtering one can use SubObjectFilters.
Parameters
GroupHandleA valid handle to a group.
See also
CreateGroup
AddExclusionFilterGroup
SetGroupFilterStatus
Returns
true if the group was successfully added as an inclusion group, false in all other cases such as being an invalid group, reserved group or used as an exclusion filter.

◆ AddToGroup()

void UReplicationSystem::AddToGroup ( FNetObjectGroupHandle  GroupHandle,
FNetRefHandle  Handle 
)

Add an object to a group.

Parameters
GroupHandleA valid group handle.
HandleA valid handle to an object.

◆ AllowObjectReplication()

bool UReplicationSystem::AllowObjectReplication ( )
inline
Returns
Is this system configured to replicate object properties.

◆ ClearCullDistanceOverride()

void UReplicationSystem::ClearCullDistanceOverride ( FNetRefHandle  Handle)

Clears any previously set cull distance override for an object. This will cause the objects to revert to their internal cull distance property.

◆ CloseDataStream()

void UReplicationSystem::CloseDataStream ( uint32  ConnectionId,
FName  Name 
)

Initiate close of DataStream for the given ConnectionId. NOTE: This only applies to DataStreams that are flagged with bDynamicCreate in the DataStreamDefinition

Parameters
NameThe name of the DataStream. Names of valid DataStream are configured in UDataStreamDefinitions.
See also
UDataStreamDefinitions

◆ CollectNetMetrics()

void UReplicationSystem::CollectNetMetrics ( UE::Net::FNetMetrics OutNetMetrics) const

Collect relevant metrics that could be sent to analytics

◆ CreateGroup()

UE::Net::FNetObjectGroupHandle UReplicationSystem::CreateGroup ( FName  GroupName)

Create a group which can be used to logically group objects together. The group must be destroyed when it's not needed anymore. Groups can be used to setup filtering rules on it's members.

Parameters
GroupNameAn unique name to identify the group. Passing NAME_None will assign it an autogenerated name
Returns
A handle to the group, or InvalidNetObjectGroupHandle if no more groups could be created.
See also
DestroyGroup

◆ DestroyGroup()

void UReplicationSystem::DestroyGroup ( FNetObjectGroupHandle  GroupHandle)

Destroy a group.

See also
CreateGroup

◆ FindGroup()

UE::Net::FNetObjectGroupHandle UReplicationSystem::FindGroup ( FName  GroupName) const

Return the handle to a group identified by the given name

Returns
A valid handle if the name is used by an existing group or InvalidNetObjectGroupHandle if no groups is found

◆ ForceNetUpdate()

void UReplicationSystem::ForceNetUpdate ( FNetRefHandle  Handle)

Force the passed object to be considered for replication this frame. This will also force it's sub objects, root object and any of it's dependents to also be considered for replication. Normally an object is checked for replication only when it's poll frequency is hit.

Parameters
HandleA valid handle to an object.
See also
FObjectReplicationBridgePollConfig

◆ GetConnectionUserData()

UObject * UReplicationSystem::GetConnectionUserData ( uint32  ConnectionId) const

Retrieve the user data associated with a connection.

Parameters
ConnectionIdA valid connection ID.
Returns
The user data associated with the connection.
See also
SetConnectionUserData

◆ GetCullDistance()

float UReplicationSystem::GetCullDistance ( FNetRefHandle  Handle,
float  DefaultValue = -1.0f 
) const

Returns the current cull distance for an object or DefaultValue if it doesn't have a cull distance or is not a replicated object.

◆ GetDataStream() [1/2]

UDataStream * UReplicationSystem::GetDataStream ( uint32  ConnectionId,
FName  Name 
)

Get DataStream with the provided Name

Parameters
NameThe name of the DataStream. Names of valid DataStream are configured in UDataStreamDefinitions.
Returns
A pointer to the DataStream if it exists
See also
UDataStreamDefinitions

◆ GetDataStream() [2/2]

const UDataStream * UReplicationSystem::GetDataStream ( uint32  ConnectionId,
FName  Name 
) const

Const version of GetDataStream

◆ GetDebugName()

const UE::Net::FNetDebugName * UReplicationSystem::GetDebugName ( FNetRefHandle  Handle) const

Get the DebugName associated with a handle.

Parameters
HandleThe handle to retrieve the DebugName for
Returns
DebugName if the handle is valid, otherwise nullptr.

◆ GetDelegates()

UE::Net::FReplicationSystemDelegates & UReplicationSystem::GetDelegates ( )

◆ GetElapsedTime()

double UReplicationSystem::GetElapsedTime ( ) const
inline

Returns elapsed time in seconds since ReplicatonSystem was created

◆ GetFilter()

UNetObjectFilter * UReplicationSystem::GetFilter ( const FName  FilterName) const

Gets the filter with a given name.

Parameters
FilterNameThe name of the filter. Names of valid filters are configured in UNetObjectFilterDefinitions.
Returns
A pointer to the filter if it exists, nullptr if not.
See also
UNetObjectFilterDefinitions

◆ GetFilterHandle()

UE::Net::FNetObjectFilterHandle UReplicationSystem::GetFilterHandle ( const FName  FilterName) const

Gets the handle for a filter with a given name. The handle can be used in subsequent calls to SetFilter.

Parameters
HandleA valid handle to an object.
FilterNameThe name of the filter. Names of valid filters are configured in UNetObjectFilterDefinitions.
Returns
A valid handle if a filter with the given name has been successfully created in this system or InvalidNetObjectFilterHandle if not.
See also
SetFilter
UNetObjectFilterDefinitions

◆ GetFilterName()

FName UReplicationSystem::GetFilterName ( UE::Net::FNetObjectFilterHandle  Filter) const

Returns the name of the filter associated to this handle.

◆ GetId()

uint32 UReplicationSystem::GetId ( ) const
inline
Returns
The unique ID of the ReplicationSystem.

◆ GetMaxConnectionCount()

uint32 UReplicationSystem::GetMaxConnectionCount ( ) const
Returns
The Max number of connections that is supported.

◆ GetNetGroupOwnerNetObjectGroup()

UE::Net::FNetObjectGroupHandle UReplicationSystem::GetNetGroupOwnerNetObjectGroup ( ) const

Special group, SubObjects assigned to this group will replicate to owner of RootParent

◆ GetNetGroupReplayNetObjectGroup()

UE::Net::FNetObjectGroupHandle UReplicationSystem::GetNetGroupReplayNetObjectGroup ( ) const

Special group, SubObjects assigned to this group will replicate if replay netconditions is met

◆ GetNetTokenResolveContext()

UE::Net::FNetTokenResolveContext UReplicationSystem::GetNetTokenResolveContext ( uint32  ConnectionId) const

Get NetTokenResolveContext resolve NetTokens

See also
UE::Net::FNetTokenStore

◆ GetNetTokenStore() [1/2]

UE::Net::FNetTokenStore * UReplicationSystem::GetNetTokenStore ( )
Returns
The Net token store.
See also
UE::Net::FNetTokenStore

◆ GetNetTokenStore() [2/2]

const UE::Net::FNetTokenStore * UReplicationSystem::GetNetTokenStore ( ) const
Returns
A const version of the NetTokenStore.
See also
UE::Net::FNetTokenStore

◆ GetNotReplicatedNetObjectGroup()

UE::Net::FNetObjectGroupHandle UReplicationSystem::GetNotReplicatedNetObjectGroup ( ) const

Special group, root objects assigned to this group will be filtered out for all connections

◆ GetOrCreateSubObjectFilter()

UE::Net::FNetObjectGroupHandle UReplicationSystem::GetOrCreateSubObjectFilter ( FName  GroupName)

Add a group to the filtering system. By default the filter disallows replication for all objects in the group.

Parameters
GroupHandleA valid handle to a group.
See also
CreateGroup

◆ GetOwningNetConnection()

uint32 UReplicationSystem::GetOwningNetConnection ( FNetRefHandle  Handle) const

Get the owning net connection for an object.

See also
SetOwningNetConnection

◆ GetPIEInstanceID()

int32 UReplicationSystem::GetPIEInstanceID ( ) const
inline

◆ GetPrioritizer()

UNetObjectPrioritizer * UReplicationSystem::GetPrioritizer ( const FName  PrioritizerName) const

Gets the prioritizer with a given name. Can be useful for special initialization for a custom prioritizer.

Parameters
PrioritizerNameThe name of the prioritizer. Names of valid filters are configured in UNetObjectPrioritizerDefinitions.
Returns
A pointer to the filter if it exists, nullptr if not.
See also
UNetObjectPrioritizerDefinitions

◆ GetPrioritizerHandle()

UE::Net::FNetObjectPrioritizerHandle UReplicationSystem::GetPrioritizerHandle ( const FName  PrioritizerName) const

Gets the handle for a prioritizer with a given name. The handle can be used in subsequent calls to SetPrioritizer.

Parameters
PrioritizerNameThe name of the prioritizer. Names of valid prioritizers are configured in UNetObjectPrioritizerDefinitions.
Returns
A valid handle if a prioritizer with the given name has been successfully created in this system or InvalidNetObjectPrioritizerHandle if not.
See also
SetPrioritizer
UNetObjectPrioritizerDefinitions

◆ GetReplicationBridge()

UObjectReplicationBridge * UReplicationSystem::GetReplicationBridge ( ) const
Returns
The UObjectReplicationBridge that was passed with the system creation parameters.

◆ GetReplicationBridgeAs()

template<typename T >
T * UReplicationSystem::GetReplicationBridgeAs ( ) const
inline
Returns
The UReplicationBridge that was passed with the system creation parameters. Will return nullptr if it cannot be cast to the desired type.

◆ GetReplicationProtocol()

const UE::Net::FReplicationProtocol * UReplicationSystem::GetReplicationProtocol ( FNetRefHandle  Handle) const

Get the ReplicationProtocol for a handle.

Parameters
HandleThe handle to retrieve the protocol for.
Returns
A valid pointer to the protocol if the handle is valid, nullptr if not.

◆ GetReplicationSystemInternal() [1/2]

UE::Net::Private::FReplicationSystemInternal * UReplicationSystem::GetReplicationSystemInternal ( )

◆ GetReplicationSystemInternal() [2/2]

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

◆ GetSubObjectFilterGroupHandle()

UE::Net::FNetObjectGroupHandle UReplicationSystem::GetSubObjectFilterGroupHandle ( FName  GroupName) const

Returns the FNetObjectGroupHandle used by a named SubObjectFilter

◆ GetWorldLocations()

const UE::Net::FWorldLocations & UReplicationSystem::GetWorldLocations ( ) const

Retrieve the WorldLocations instance which holds world locations for all objects that support it.

Returns
The WorldLocations instance.
See also
UE::Net::FWorldLocations

◆ InitDataStreamManager()

void UReplicationSystem::InitDataStreamManager ( uint32  ConnectionId,
UDataStreamManager DataStreamManager 
)

◆ IsInGroup()

bool UReplicationSystem::IsInGroup ( FNetObjectGroupHandle  GroupHandle,
FNetRefHandle  Handle 
) const

Check whether an objects belongs to a particular group or not.

Parameters
GroupHandleA valid group handle.
HandleA valid handle to an object.
Returns
true if both handles are valid and the object belongs to the group, false otherwise.

◆ IsKnownDataStreamDefinition()

bool UReplicationSystem::IsKnownDataStreamDefinition ( FName  Name) const

Returns true if there exists a DataStreamDefinition for the provided Name

◆ IsNetRefHandleAssigned()

bool UReplicationSystem::IsNetRefHandleAssigned ( FNetRefHandle  Handle) const

Check whether a FNetRefHandle is still associated with a replicated object. An handle can be valid but reference an object that doesn't exist locally.

Parameters
HandleThe handle check.
Returns
true if the handle is assigned, false if not.

◆ IsReplicationEnabledForConnection()

IRISCORE_API bool UReplicationSystem::IsReplicationEnabledForConnection ( uint32  ConnectionId) const

Check whether object replication is enabled for a particular connection.

Parameters
ConnectionIdThe ID of the connection to check if object replication is enabled for.
Returns
Whether object replication is enabled for the connection.

◆ IsServer()

bool UReplicationSystem::IsServer ( ) const
inline
Returns
Whether the system is run on a server.

◆ IsUsingRemoteObjectReferences()

bool UReplicationSystem::IsUsingRemoteObjectReferences ( ) const

When using remote objects with UE_WITH_REMOTE_OBJECT_HANDLE, whether or not TObjectPtr or TWeakObjectPtr properties should be serialized as FRemoteObjectReferences

◆ IsValidConnection()

bool UReplicationSystem::IsValidConnection ( uint32  ConnectionId) const

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

Parameters
ConnectionIdThe ID of the connection to check for validness.
Returns
Whether the connection is valid.

◆ IsValidGroup()

bool UReplicationSystem::IsValidGroup ( FNetObjectGroupHandle  GroupHandle) const

Check if a group handle is valid.

Parameters
GroupHandleA group handle.
Returns
true if the group is valid, false if not.

◆ MarkDirty()

void UReplicationSystem::MarkDirty ( FNetRefHandle  Handle)

Explicitly mark object as having dirty properties.

Parameters
HandleA valid handle to an object.
See also
FObjectReplicationBridgePollConfig

◆ NetUpdate()

void UReplicationSystem::NetUpdate ( float  DeltaSeconds)

Update all internal systems, such as filtering, dirty tracking, prioritization, etc. Also copies all replicated data into the internal Iris protocols so they are ready to be sent to clients

◆ OpenDataStream()

UDataStream * UReplicationSystem::OpenDataStream ( uint32  ConnectionId,
FName  Name 
)

Request DataStream to be created/opened for the given ConnectionId. NOTE: This only applies to DataStreams that are flagged with bDynamicCreate in the DataStreamDefinition

Parameters
NameThe name of the DataStream. Names of valid DataStream are configured in UDataStreamDefinitions.
Returns
A pointer to the DataStream if successfully opened or already existed.
See also
UDataStreamDefinitions

◆ PostReceiveUpdate()

void UReplicationSystem::PostReceiveUpdate ( )

Callback triggered after the connections processed all received data

◆ PostSendUpdate()

void UReplicationSystem::PostSendUpdate ( )

Cleanup temporaries and prepare for the next send update.

◆ PreReceiveUpdate()

void UReplicationSystem::PreReceiveUpdate ( )

Callback triggered before connections start processing their received data

◆ QueueNetObjectAttachment()

bool UReplicationSystem::QueueNetObjectAttachment ( uint32  ConnectionId,
const UE::Net::FNetObjectReference TargetRef,
const TRefCountPtr< UE::Net::FNetObjectAttachment > &  Attachment 
)

Queue an attachment for replication with an object. The attachment will be sent when the target is scheduled for replication.

Parameters
ConnectionIdA valid connection ID. Only this connection will receive the attachment.
TargetRefA valid FNetObjectReference representing object to replicate the attachment with.
AttachmentThe attachment to replicate. Note that the attachment's NetObjectReference will be modified based on TargetRef.
Returns
Whether the attachment was properly queued or not.

◆ RegisterNetBlobHandler()

bool UReplicationSystem::RegisterNetBlobHandler ( UNetBlobHandler Handler)

Registers a NetBlobHandler so that its NetBlob type can be sent and received. The user must be sure to keep the handler valid for the lifetime of the ReplicationSystem. The handler class must have been configured in UNetBlobHandlerDefinitions in order for the call to succeed. Only one instance per class is allowed to be registered.

Parameters
HandlerThe UNetBlobHandler to register.
Returns
Whether the handler was successfully registered or not.

◆ RemoveConnection()

void UReplicationSystem::RemoveConnection ( uint32  ConnectionId)

Notify that a connection was removed.

Parameters
ConnectionIdThe ID of the removed connection. Must have previously been added.

◆ RemoveFromAllGroups()

void UReplicationSystem::RemoveFromAllGroups ( FNetRefHandle  Handle)

Removes an object from all groups it's part of.

Parameters
HandleA valid handle to an object.

◆ RemoveFromGroup()

void UReplicationSystem::RemoveFromGroup ( FNetObjectGroupHandle  GroupHandle,
FNetRefHandle  Handle 
)

Removes an object from a group.

Parameters
GroupHandleA valid group handle.
HandleA valid handle to an object.

◆ RemoveGroupFilter()

void UReplicationSystem::RemoveGroupFilter ( FNetObjectGroupHandle  GroupHandle)

Remove group from filtering system, canceling all effects of the group.

◆ RemoveSubObjectFilter()

void UReplicationSystem::RemoveSubObjectFilter ( FName  GroupName)

Remove group from filtering system, will cancel effects of the group.

◆ ReportErrorWithNetRefHandle()

void UReplicationSystem::ReportErrorWithNetRefHandle ( UE::Net::ENetRefHandleError  ErrorType,
uint64  NetRefHandleId,
uint32  ConnectionId,
const TArray< uint64 > &  ExtraNetRefHandles 
)

Called when a connection reports a critical error with a netrefhandle object

◆ ReportProtocolMismatch()

void UReplicationSystem::ReportProtocolMismatch ( uint64  NetRefHandleId,
uint32  ConnectionId 
)

Called when a connection finds a protocol divergence when instantiating a replicated object.

◆ ResetNetMetrics()

void UReplicationSystem::ResetNetMetrics ( )

Reset cached accumulated metrics

◆ ResetRPCSendPolicyFlags()

void UReplicationSystem::ResetRPCSendPolicyFlags ( )

Resets all set RPCSendPolicy flags

◆ SendRPC() [1/2]

bool UReplicationSystem::SendRPC ( const UObject RootObject,
const UObject SubObject,
const UFunction Function,
const void Parameters 
)

Multicast an RPC targeting a object/subobject.

Parameters
RootObjectA valid Owner/Actor. If no subobject is specified the function is called on the root object on the remote side.
SubObjectOptional subobject on whom the function is called on the remote side.
FunctionThe function to call.
ParametersThe function parameters.
Returns
Whether the RPC was successfully queued for replication or not.

◆ SendRPC() [2/2]

bool UReplicationSystem::SendRPC ( uint32  ConnectionId,
const UObject RootObject,
const UObject SubObject,
const UFunction Function,
const void Parameters 
)

Unicast an RPC targeting a object/subobject.

Parameters
ConnectionIdA valid connection ID. Only this connection will receive the RPC.
RootObjectA valid Owner/Actor. If no subobject is specified the function is called on the root object on the remote side.
SubObjectOptional subobject on whom the function is called on the remote side.
FunctionThe function to call.
ParametersThe function parameters.
Returns
Whether the RPC was successfully queued for replication or not.

◆ SendUpdate()

IRISCORE_API void UReplicationSystem::SendUpdate ( TFunctionRef< void(TArrayView< uint32 >)>  SendFunction)

SendUpdate is currently more of a placeholder for a future where the ReplicationSystem itself is responsible for the low level protocol and sending, rather than having the DataStreamChannel write data when ticked

See also
UDataStreamChannel.
Parameters
SendFunction,Functiontaking an array of ConnectionId`s that has data to send

◆ SetConnectionGracefullyClosing()

void UReplicationSystem::SetConnectionGracefullyClosing ( uint32  ConnectionId) const

Sets a connection as gracefully closing, where it will flush all pending reliable data before completely shutting down.

Parameters
ConnectionIdThe ID of the connection that's closing.

◆ SetConnectionUserData()

void UReplicationSystem::SetConnectionUserData ( uint32  ConnectionId,
UObject UserData 
)

Associate data with a connection. Only a single piece of user data is supported per connection. The last call determines which data is associated with the connection.

Parameters
ConnectionIdA valid connection ID.
UserDataWhat data to associate with the connection.
See also
GetConnectionUserData

◆ SetCullDistanceOverride()

void UReplicationSystem::SetCullDistanceOverride ( FNetRefHandle  Handle,
float  Dist 
)

Set the cull distance for an object temporarily instead of the default cull distance value associated with the object (ex:

See also
AActor::NetCullDistanceSquared)

◆ SetDeltaCompressionStatus()

void UReplicationSystem::SetDeltaCompressionStatus ( FNetRefHandle  Handle,
UE::Net::ENetObjectDeltaCompressionStatus  Status 
)

Set whether the object allows delta compression when serializing. This does not guarantee that the object will use delta compression depending on other factors, such as the maximum number of delta compressed objects, whether the delta compression feature is enabled or not and other reasons.

Parameters
HandleA valid handle to a replicated object.

◆ SetFilter()

bool UReplicationSystem::SetFilter ( FNetRefHandle  Handle,
UE::Net::FNetObjectFilterHandle  FilterHandle,
FName  FilterConfigProfile = NAME_None 
)

Sets a filter for a replicated object which will be used until the next call to SetFilter. Filters are used prevent objects from being replicated to certain connections. An object that is filtered out will cause the object to be destroyed on the remote side.

Parameters
HandleA valid handle to an object.
FilterHandleA valid handle to a filter, retrieved via a call to GetFilter or one of the two special handles InvalidNetObjectFilterHandle to clear filtering or ToOwnerFilterHandle for owner filtering.
FilterConfigProfileOptional name of a specialized profile to use as the object's configuration. When none filters are expected to use default settings.
Returns
true if the filter was successfully set and false if it was not. It can fail for various reasons, such as the filter not supporting the object in question for implementation defined reasons. If the function fails the filter of the object is unspecified, it could be using a previous filter or use no filtering.
See also
GetFilterHandle

◆ SetGroupFilterStatus() [1/3]

void UReplicationSystem::SetGroupFilterStatus ( FNetObjectGroupHandle  GroupHandle,
const UE::Net::FNetBitArray Connections,
UE::Net::ENetFilterStatus  ReplicationStatus 
)

Set status of GroupFilter for connection marked in the Connections BitArray to the passed ReplicationStatus, Connections not marked in the BitArray will be set to the opposite status.

◆ SetGroupFilterStatus() [2/3]

void UReplicationSystem::SetGroupFilterStatus ( FNetObjectGroupHandle  GroupHandle,
UE::Net::ENetFilterStatus  ReplicationStatus 
)

Set status of GroupFilter for all connections.

◆ SetGroupFilterStatus() [3/3]

void UReplicationSystem::SetGroupFilterStatus ( FNetObjectGroupHandle  GroupHandle,
uint32  ConnectionId,
UE::Net::ENetFilterStatus  ReplicationStatus 
)

Set status of GroupFilter for specific connection.

◆ SetIsNetTemporary()

void UReplicationSystem::SetIsNetTemporary ( FNetRefHandle  Handle)

Mark an object as a net temporary. Such objects only replicate its initial state and ignores future state changes.

◆ SetOwningNetConnection()

void UReplicationSystem::SetOwningNetConnection ( FNetRefHandle  Handle,
uint32  ConnectionId 
)

Sets the owning connection of an object. This can determine which properties are replicated to which connections or affect filtering such that the object is only replicated to the owning connection.

Parameters
HandleA valid handle to an object.
ConnectionIdA valid connection ID to be set as the owner.

◆ SetPrioritizer()

bool UReplicationSystem::SetPrioritizer ( FNetRefHandle  Handle,
UE::Net::FNetObjectPrioritizerHandle  PrioritizerHandle 
)

Sets a prioritizer for a replicated object which will be used until the next call to SetPrioritizer or SetStaticPriority. An object which never gets a call to either SetPrioritizer or SetStaticPriority will have a priority of 1.0.

Parameters
HandleA valid handle to an object.
PrioritizerHandleA valid handle to a prioritizer, retrieved via a call to GetPrioritizer, or DefaultSpatialNetObjectPrioritizerHandle.
Returns
true if the prioritizer was successfully set and false if it was not. It can fail for various reasons, such as the prioritizer not supporting the object in question for implementation defined reasons. If the function fails the prioritization of the object is unspecified, it could be using a previous prioritizer or get a default static priority.
See also
GetPrioritizerHandle
SetStaticPriority

◆ SetReplicationCondition()

bool UReplicationSystem::SetReplicationCondition ( FNetRefHandle  Handle,
UE::Net::EReplicationCondition  Condition,
bool  bEnable 
)

Enable or disable a replication condition for all connections. This will affect the replication of properties with conditions.

Parameters
HandleA valid handle to a replicated object.
ConditionThe ReplicationCondition to modify. Only EReplicationCondition::ReplicatePhysics is supported.
bEnableWhether the the condition should be enabled or disabled.
Returns
true if the condition was successfully set, false if not.
See also
SetReplicationCondition, SetReplicationConditionConnectionFilter

◆ SetReplicationConditionConnectionFilter()

bool UReplicationSystem::SetReplicationConditionConnectionFilter ( FNetRefHandle  Handle,
UE::Net::EReplicationCondition  Condition,
uint32  ConnectionId,
bool  bEnable 
)

Enable or disable a replication condition for a single connection and do the inverse for all other connections. This will affect the replication of properties with conditions that are dependent on this condition. Calling this function will cancel the effect of previous calls to this function with this condition, i.e. only a single connection can have RoleAutonomous set.

Parameters
HandleA valid handle to a replicated object.
ConditionThe ReplicationCondition to modify. Only EReplicationCondition::RoleAutonomous is supported.
ConnectionIdThe ID of the connection to enable or disable the condition for or 0 to disable the condition.
bEnableWhether the the condition should be enabled or disabled for the specified connection. If ConnectionId is zero this parameter is ignored.
Returns
true if the condition was successfully set, false if not.
See also
SetReplicationCondition

◆ SetReplicationEnabledForConnection()

void UReplicationSystem::SetReplicationEnabledForConnection ( uint32  ConnectionId,
bool  bReplicationEnabled 
)

Enable or disable the ReplicationDataStream to transmit data for a particular connection.

Parameters
ConnectionIdThe ID of the connection to enable or disable object replication for.
bReplicationEnabledWhether to enable or disable object replication.

◆ SetReplicationView()

void UReplicationSystem::SetReplicationView ( uint32  ConnectionId,
const UE::Net::FReplicationView View 
)

Set view information for a connection. The views are used by some prioritizers, typically to make objects closer to any of the view positions higher priority and thus more likely to replicate on a given frame. The information will persist until the next call. This is normally handled by a NetDriver.

Parameters
ConnectionIdThe ID of the connection to set the view information for.
ViewThe view information for the connection and its subconnections.
See also
UNetDriver::UpdateReplicationViews

◆ SetRPCSendPolicyFlags()

bool UReplicationSystem::SetRPCSendPolicyFlags ( const UFunction Function,
UE::Net::ENetObjectAttachmentSendPolicyFlags  SendFlags 
)

Set the policy flags for an RPC identified by its function

Parameters
Functiona pointer to a valid function identifying the RPC
SendFlagsthe ENetObjectAttachmentSendPolicyFlags to set for the RPC
Returns
Whether the specified SendFlags is valid for the specific RPC

◆ SetStaticPriority()

void UReplicationSystem::SetStaticPriority ( FNetRefHandle  Handle,
float  Priority 
)

Sets a fixed priority for a replicated object which will be used until the next call to SetStaticPriority or SetPrioritizer. An object which never gets a call to either SetPrioritizer or SetStaticPriority will have a priority of 1.0.

Parameters
HandleWhich object to set the priority for.
PriorityA value >= 0. 1.0 means the object will be considered for replication every frame, if it has updated replicated properties.
See also
SetPrioritizer

◆ SetSubObjectFilterStatus()

void UReplicationSystem::SetSubObjectFilterStatus ( FName  GroupName,
UE::Net::FConnectionHandle  ConnectionHandle,
UE::Net::ENetFilterStatus  ReplicationStatus 
)

Set status of GroupFilter for specific connection.

◆ TearOffNextUpdate()

void UReplicationSystem::TearOffNextUpdate ( FNetRefHandle  Handle)

Mark an object to be torn off next update.

Parameters
HandleA valid handle to an object.

◆ TickPostReceive()

void UReplicationSystem::TickPostReceive ( )

Tick replication system after parsing all received data. Used to check if immediate RPCs need to be sent before the rest of the engine is ticked


The documentation for this class was generated from the following files: