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

#include <ObjectReplicationBridge.h>

+ Inheritance diagram for UObjectReplicationBridge:

Classes

struct  FRootObjectReplicationParams
 
struct  FSubObjectReplicationParams
 

Public Types

enum class  EPrintDebugInfoTraits : uint32 { Default = 0x0000 , NoProtocolState = 0x0001 , WithDependents = 0x0002 }
 
using EGetRefHandleFlags = UE::Net::EGetRefHandleFlags
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

IRISCORE_API UObjectReplicationBridge ()
 
IRISCORE_API UObjectGetReplicatedObject (FNetRefHandle Handle) const
 
IRISCORE_API FNetRefHandle GetReplicatedRefHandle (const UObject *Object, EGetRefHandleFlags GetRefHandleFlags=EGetRefHandleFlags::None) const
 
IRISCORE_API FNetRefHandle GetReplicatedRefHandle (FNetHandle Handle) const
 
IRISCORE_API UObjectResolveObjectReference (const UE::Net::FNetObjectReference &ObjectRef, const UE::Net::FNetObjectResolveContext &ResolveContext)
 
IRISCORE_API FString DescribeObjectReference (const UE::Net::FNetObjectReference &ObjectRef, const UE::Net::FNetObjectResolveContext &ResolveContext)
 
IRISCORE_API UE::Net::FNetObjectReference GetOrCreateObjectReference (const UObject *Instance) const
 
IRISCORE_API UE::Net::FNetObjectReference GetOrCreateObjectReference (const FString &Path, const UObject *Outer) const
 
IRISCORE_API FNetRefHandle StartReplicatingRootObject (UObject *Instance, const FRootObjectReplicationParams &Params, UE::Net::FNetObjectFactoryId NetFactoryId)
 
IRISCORE_API FNetRefHandle StartReplicatingSubObject (UObject *Instance, const FSubObjectReplicationParams &Params, UE::Net::FNetObjectFactoryId NetFactoryId)
 
IRISCORE_API void StopReplicatingNetObject (UObject *Instance, EEndReplicationFlags EndReplicationFlags=EEndReplicationFlags::Destroy)
 
IRISCORE_API void SetSubObjectNetCondition (FNetRefHandle SubObjectHandle, ELifetimeCondition Condition)
 
IRISCORE_API FNetRefHandle GetRootObjectOfAnyObject (FNetRefHandle NetRefHandle) const
 
IRISCORE_API FNetRefHandle GetRootObjectOfSubObject (FNetRefHandle SubObjectHandle) const
 
IRISCORE_API UNetObjectFactoryGetNetFactory (UE::Net::FNetObjectFactoryId FactoryId) const
 
IRISCORE_API void AddStaticDestructionInfo (const FString &ObjectPath, const UObject *Outer, const UE::Net::FDestructionParameters &Parameters)
 
IRISCORE_API FNetRefHandle StoreDestructionInfo (FNetRefHandle Handle, const UE::Net::FDestructionParameters &Parameters)
 
virtual bool RemapPathForPIE (uint32 ConnectionId, FString &Path, bool bReading) const
 
virtual bool ObjectLevelHasFinishedLoading (UObject *Object) const
 
IRISCORE_API void AddDependentObject (FNetRefHandle Parent, FNetRefHandle DependentObject, UE::Net::EDependentObjectSchedulingHint SchedulingHint=UE::Net::EDependentObjectSchedulingHint::Default)
 
IRISCORE_API void RemoveDependentObject (FNetRefHandle Parent, FNetRefHandle DependentObject)
 
IRISCORE_API void AddCreationDependencyLink (FNetRefHandle Parent, FNetRefHandle Child)
 
IRISCORE_API void RemoveCreationDependencyLink (FNetRefHandle Parent, FNetRefHandle Child)
 
IRISCORE_API void SetObjectWantsToBeDormant (FNetRefHandle Handle, bool bWantsToBeDormant)
 
IRISCORE_API bool GetObjectWantsToBeDormant (FNetRefHandle Handle) const
 
IRISCORE_API void NetFlushDormantObject (FNetRefHandle Handle)
 
IRISCORE_API void SetPollFrequency (FNetRefHandle RootHandle, float PollFrequency)
 
IRISCORE_API void SetClassDynamicFilterConfig (FName ClassPathName, const UE::Net::FNetObjectFilterHandle FilterHandle, FName FilterProfile=NAME_None)
 
IRISCORE_API void SetClassDynamicFilterConfig (FName ClassPathName, FName FilterName, FName FilterProfile=NAME_None)
 
IRISCORE_API void SetClassTypeStatsConfig (FName ClassPathName, FName TypeStatsName)
 
IRISCORE_API void SetClassTypeStatsConfig (const FString &ClassPathName, const FString &TypeStatsName)
 
IRISCORE_API bool ShouldUseVerboseCsvStats () const
 
FName GetDefaultSpatialFilterName () const
 
IRISCORE_API bool IsNetRefHandlePreRegistered (FNetRefHandle Handle)
 
IRISCORE_API UObjectGetPreRegisteredObject (FNetRefHandle Handle) const
 
virtual void SendErrorWithNetRefHandle (UE::Net::ENetRefHandleError ErrorType, FNetRefHandle RefHandle, uint32 ConnectionId, TConstArrayView< const FNetRefHandle > ExtraNetRefHandle={})
 
IRISCORE_API UE::Net::FNetRefHandle PreRegisterNewObjectReferenceHandle (UObject *Instance)
 
IRISCORE_API void PreRegisterObjectWithReferenceHandle (const UObject *Instance, FNetRefHandle Handle)
 
void PrintDynamicFilterClassConfig (uint32 ArgTraits)
 
void PrintReplicatedObjects (uint32 ArgTraits) const
 
void PrintAlwaysRelevantObjects (uint32 ArgTraits) const
 
void PrintRelevantObjects (uint32 ArgTraits) const
 
void PrintRelevantObjectsForConnections (const TArray< FString > &Args) const
 
void PrintNetCullDistances (const TArray< FString > &Args) const
 
void PrintPushBasedStatuses () const
 
void PrintDebugInfoForNetRefHandlesAndConnections (const TArray< FNetRefHandle > &NetHandles, const TArray< FString > &Args, EPrintDebugInfoTraits PrintTraits)
 
IRISCORE_API void PrintDebugInfoForNetRefHandle (const FNetRefHandle NetHandle, uint32 ConnectionId, EPrintDebugInfoTraits PrintTraits=EPrintDebugInfoTraits::Default) const
 
- Public Member Functions inherited from UReplicationBridge
IRISCORE_API UReplicationBridge ()
 
virtual IRISCORE_API ~UReplicationBridge ()
 
IRISCORE_API void StopReplicatingNetRefHandle (FNetRefHandle Handle, EEndReplicationFlags EndReplicationFlags)
 
IRISCORE_API bool IsReplicatedHandle (FNetRefHandle Handle) const
 
IRISCORE_API UE::Net::FNetObjectGroupHandle GetLevelGroup (const UObject *Level) const
 
IRISCORE_API const TMap< FObjectKey, UE::Net::FNetObjectGroupHandle > & GetAllLevelGroups () const
 
bool IsInReceiveUpdate () const
 
IRISCORE_API FString PrintObjectFromNetRefHandle (FNetRefHandle RefHandle) 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)
 

Protected Types

using FInstancePreUpdateFunction = TFunction< void(TArrayView< UObject * >, const UObjectReplicationBridge *)>
 
- Protected Types inherited from UReplicationBridge
using FNetHandle = UE::Net::FNetHandle
 
using FNetRefHandle = UE::Net::FNetRefHandle
 
using FNetDependencyInfoArray = UE::Net::FNetDependencyInfoArray
 

Protected Member Functions

virtual IRISCORE_API ~UObjectReplicationBridge ()
 
virtual IRISCORE_API void Initialize (UReplicationSystem *InReplicationSystem) override
 
virtual IRISCORE_API void Deinitialize () override
 
virtual IRISCORE_API void PreSendUpdateSingleHandle (FNetRefHandle RefHandle) override
 
virtual IRISCORE_API void PreSendUpdate () override
 
virtual IRISCORE_API void OnStartPreSendUpdate () override
 
virtual IRISCORE_API void OnPostSendUpdate () override
 
virtual IRISCORE_API void OnPostReceiveUpdate () override
 
virtual IRISCORE_API void UpdateInstancesWorldLocation () override
 
virtual IRISCORE_API void PruneStaleObjects () override
 
virtual IRISCORE_API bool CacheNetRefHandleCreationInfo (FNetRefHandle Handle) override
 
virtual IRISCORE_API void DetachInstance (FNetRefHandle Handle) override
 
virtual IRISCORE_API void OnProtocolMismatchReported (FNetRefHandle RefHandle, uint32 ConnectionId) override
 
virtual IRISCORE_API void OnErrorWithNetRefHandleReported (UE::Net::ENetRefHandleError ErrorType, FNetRefHandle RefHandle, uint32 ConnectionId, const TArray< FNetRefHandle > &ExtraHandles) override
 
virtual IRISCORE_API void RemoveDestructionInfosForGroup (UE::Net::FNetObjectGroupHandle GroupHandle) override
 
virtual void OnProtocolMismatchDetected (FNetRefHandle ObjectHandle)
 
IRISCORE_API UObjectGetObjectFromReferenceHandle (FNetRefHandle RefHandle) const
 
IRISCORE_API void SetInstancePreUpdateFunction (FInstancePreUpdateFunction InPreUpdateFunction)
 
IRISCORE_API FInstancePreUpdateFunction GetInstancePreUpdateFunction () const
 
IRISCORE_API void SetPollWithObject (FNetRefHandle ObjectToPollWith, FNetRefHandle Object)
 
IRISCORE_API uint8 ConvertPollFrequencyIntoFrames (float PollFrequency) const
 
IRISCORE_API void ReinitPollFrequency ()
 
IRISCORE_API void LoadConfig ()
 
IRISCORE_API void ForceUpdateWorldLocation (FNetRefHandle NetRefHandle, UE::Net::Private::FInternalNetRefIndex InternalObjectIndex)
 
IRISCORE_API void SetShouldUseDefaultSpatialFilterFunction (TFunction< bool(const UClass *)>)
 
IRISCORE_API void SetShouldSubclassUseSameFilterFunction (TFunction< bool(const UClass *Class, const UClass *Subclass)>)
 
IRISCORE_API bool FindOrCachePollFrequency (const UClass *Class, float &OutPollPeriod)
 
IRISCORE_API bool GetClassPollFrequency (const UClass *Class, float &OutPollPeriod) const
 
IRISCORE_API EIrisAsyncLoadingPriority GetClassIrisAsyncLoadingPriority (const UClass *Class)
 
IRISCORE_API bool IsClassCritical (const UClass *Class)
 
virtual IRISCORE_API bool IsClassReplicatedByDefault (const UClass *Class) const
 
virtual IRISCORE_API FString PrintConnectionInfo (uint32 ConnectionId) const
 
float GetMaxTickRate () const
 
void SetMaxTickRate (float InMaxTickRate)
 
virtual IRISCORE_API TArray< uint32FindConnectionsFromArgs (const TArray< FString > &Args) const
 
IRISCORE_API UE::Net::FNetObjectFilterHandle GetDynamicFilter (const UClass *Class, bool bRequireForceEnabled, FName &OutFilterProfile)
 
- Protected Member Functions inherited from UReplicationBridge
virtual IRISCORE_API void GetInitialDependencies (FNetRefHandle Handle, FNetDependencyInfoArray &OutDependencies) const
 
virtual bool CanCreateDestructionInfo () const
 
void PreSeamlessTravelGarbageCollect ()
 
void PostSeamlessTravelGarbageCollect ()
 
IRISCORE_API FNetRefHandle InternalCreateNetObject (FNetRefHandle AllocatedHandle, FNetHandle GlobalHandle, const UE::Net::Private::FCreateNetObjectParams &Params)
 
IRISCORE_API FNetRefHandle InternalCreateNetObjectFromRemote (FNetRefHandle WantedNetHandle, const UE::Net::Private::FCreateNetObjectParams &Params)
 
IRISCORE_API void InternalAttachInstanceToNetRefHandle (FNetRefHandle RefHandle, bool bBindInstanceProtocol, UE::Net::FReplicationInstanceProtocol *InstanceProtocol, UObject *Instance, FNetHandle NetHandle)
 
IRISCORE_API void InternalDetachInstanceFromNetRefHandle (UE::Net::Private::FInternalNetRefIndex InternalObjectIndex)
 
IRISCORE_API void InternalDestroyNetObject (FNetRefHandle Handle)
 
IRISCORE_API void InternalAddSubObject (FNetRefHandle OwnerHandle, FNetRefHandle SubObjectHandle, FNetRefHandle InsertRelativeToSubObjectHandle, UE::Net::ESubObjectInsertionOrder InsertionOrder)
 
UE::Net::Private::FReplicationProtocolManagerGetReplicationProtocolManager () const
 
UReplicationSystemGetReplicationSystem () const
 
UE::Net::Private::FReplicationStateDescriptorRegistryGetReplicationStateDescriptorRegistry () const
 
UE::Net::Private::FObjectReferenceCacheGetObjectReferenceCache () const
 
IRISCORE_API UE::Net::FNetObjectFactoryId GetNetObjectFactoryId (FNetRefHandle RefHandle) const
 
IRISCORE_API UE::Net::FNetObjectGroupHandle CreateLevelGroup (const UObject *Level, FName PackageName)
 
IRISCORE_API void DestroyLevelGroup (const UObject *Level)
 
virtual IRISCORE_API bool IsAllowedToDestroyInstance (const UObject *Instance) const
 
virtual IRISCORE_API void OnPreSeamlessTravelGarbageCollect ()
 
virtual IRISCORE_API void OnPostSeamlessTravelGarbageCollect ()
 
- 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)
 

Protected Attributes

bool bSuppressCreateInstanceFailedEnsure = false
 

Additional Inherited Members

- 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)
 

Member Typedef Documentation

◆ EGetRefHandleFlags

◆ FInstancePreUpdateFunction

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

Member Enumeration Documentation

◆ EPrintDebugInfoTraits

Print traits to control what gets logged in PrintIrisDebugInfoForNetHandle

Enumerator
Default 
NoProtocolState 
WithDependents 

Constructor & Destructor Documentation

◆ UObjectReplicationBridge()

UObjectReplicationBridge::UObjectReplicationBridge ( )

◆ ~UObjectReplicationBridge()

UObjectReplicationBridge::~UObjectReplicationBridge ( )
protectedvirtual

Member Function Documentation

◆ AddCreationDependencyLink()

void UObjectReplicationBridge::AddCreationDependencyLink ( FNetRefHandle  Parent,
FNetRefHandle  Child 
)

Force the child to only be created after the parent exists on a client. This also forces the child to never be relevant if their parents are not also relevant at the same time.

◆ AddDependentObject()

void UObjectReplicationBridge::AddDependentObject ( FNetRefHandle  Parent,
FNetRefHandle  DependentObject,
UE::Net::EDependentObjectSchedulingHint  SchedulingHint = UE::Net::EDependentObjectSchedulingHint::Default 
)

Adds a dependent object. A dependent object can replicate separately or if a parent replicates. Dependent objects cannot be filtered out by dynamic filtering unless the parent is also filtered out.

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

◆ AddStaticDestructionInfo()

void UObjectReplicationBridge::AddStaticDestructionInfo ( const FString &  ObjectPath,
const UObject Outer,
const UE::Net::FDestructionParameters Parameters 
)

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

◆ CacheNetRefHandleCreationInfo()

bool UObjectReplicationBridge::CacheNetRefHandleCreationInfo ( FNetRefHandle  Handle)
overrideprotectedvirtual

Cache info required to allow deferred writing of NetRefHandleCreationInfo

Parameters
HandleThe handle of the object to store creation data for. return whether cached data is stored or not.

Reimplemented from UReplicationBridge.

◆ ConvertPollFrequencyIntoFrames()

uint8 UObjectReplicationBridge::ConvertPollFrequencyIntoFrames ( float  PollFrequency) const
protected

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

◆ Deinitialize()

void UObjectReplicationBridge::Deinitialize ( )
overrideprotectedvirtual

Deinitializes the bridge. Is called during ReplicationSystem deinitialization.

Reimplemented from UReplicationBridge.

Reimplemented in UEngineReplicationBridge.

◆ DescribeObjectReference()

FString UObjectReplicationBridge::DescribeObjectReference ( const UE::Net::FNetObjectReference ObjectRef,
const UE::Net::FNetObjectResolveContext ResolveContext 
)

Describe the NetObjectReference

◆ DetachInstance()

void UObjectReplicationBridge::DetachInstance ( FNetRefHandle  Handle)
overrideprotectedvirtual

Called when we detach instance protocol from the local instance

Reimplemented from UReplicationBridge.

◆ FindConnectionsFromArgs()

TArray< uint32 > UObjectReplicationBridge::FindConnectionsFromArgs ( const TArray< FString > &  Args) const
protectedvirtual

Parses a list of arguments and returns a list of Connection's that match them Ex: ConnectionId=1 or ConnectionId=1,5,7

◆ FindOrCachePollFrequency()

bool UObjectReplicationBridge::FindOrCachePollFrequency ( const UClass Class,
float OutPollPeriod 
)
protected

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

Only if there are poll period overrides for class hierarchies does it make sense to add more class names to the exact match containers.

◆ ForceUpdateWorldLocation()

void UObjectReplicationBridge::ForceUpdateWorldLocation ( FNetRefHandle  NetRefHandle,
UE::Net::Private::FInternalNetRefIndex  InternalObjectIndex 
)
protected

Force the specified object to update it's cached WorldLocation data.

◆ GetClassIrisAsyncLoadingPriority()

EIrisAsyncLoadingPriority UObjectReplicationBridge::GetClassIrisAsyncLoadingPriority ( const UClass Class)
protected

Find the configured async loading priority for a given class. Will return EIrisAsyncLoadingPriority::Default if no class config exist

◆ GetClassPollFrequency()

bool UObjectReplicationBridge::GetClassPollFrequency ( const UClass Class,
float OutPollPeriod 
) const
protected

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.

◆ GetDefaultSpatialFilterName()

FName UObjectReplicationBridge::GetDefaultSpatialFilterName ( ) const
inline

Return the name of the default spatial filter config.

See also
UObjectReplicationBridgeConfig

◆ GetDynamicFilter()

UE::Net::FNetObjectFilterHandle UObjectReplicationBridge::GetDynamicFilter ( const UClass Class,
bool  bRequireForceEnabled,
FName OutFilterProfile 
)
protected

Retrieves the dynamic filter to set for the given class. Will return an invalid handle if no dynamic filter should be set.

For the cases when there are no configured filter mappings we just check whether to use a spatial filter or not. We don't add anything to the filter mapping.

Try to find superclass. If we find it and the classes are considered equal we copy the filter setting. If it's not equal we check whether it can be spatialized or not and use the result of that. In all cases we add the result to the mapping for faster lookup next time.

◆ GetInstancePreUpdateFunction()

UObjectReplicationBridge::FInstancePreUpdateFunction UObjectReplicationBridge::GetInstancePreUpdateFunction ( ) const
protected

Get the function that we should call before copying state data.

◆ GetMaxTickRate()

float UObjectReplicationBridge::GetMaxTickRate ( ) const
inlineprotected

Current max tick rate set by the engine

◆ GetNetFactory()

UNetObjectFactory * UObjectReplicationBridge::GetNetFactory ( UE::Net::FNetObjectFactoryId  FactoryId) const

Returns the associated factory created for this bridge.

◆ GetObjectFromReferenceHandle()

UObject * UObjectReplicationBridge::GetObjectFromReferenceHandle ( FNetRefHandle  RefHandle) const
protected

Lookup the UObject associated with the provided Handle. This function will not try to resolve the reference.

◆ GetObjectWantsToBeDormant()

bool UObjectReplicationBridge::GetObjectWantsToBeDormant ( FNetRefHandle  Handle) const

Returns whether the object wants to be dormant.

◆ GetOrCreateObjectReference() [1/2]

UE::Net::FNetObjectReference UObjectReplicationBridge::GetOrCreateObjectReference ( const FString &  Path,
const UObject Outer 
) const

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

◆ GetOrCreateObjectReference() [2/2]

UE::Net::FNetObjectReference UObjectReplicationBridge::GetOrCreateObjectReference ( const UObject Instance) const

Get or create NetObjectReference for object instance.

◆ GetPreRegisteredObject()

UObject * UObjectReplicationBridge::GetPreRegisteredObject ( FNetRefHandle  Handle) const

Get the Object from a handle, even if the object was pre-registered and hasn't replicated yet.

◆ GetReplicatedObject()

UObject * UObjectReplicationBridge::GetReplicatedObject ( FNetRefHandle  Handle) const

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

◆ GetReplicatedRefHandle() [1/2]

UE::Net::FNetRefHandle UObjectReplicationBridge::GetReplicatedRefHandle ( const UObject Object,
EGetRefHandleFlags  GetRefHandleFlags = EGetRefHandleFlags::None 
) const

Get NetRefHandle from a replicated UObject.

◆ GetReplicatedRefHandle() [2/2]

UE::Net::FNetRefHandle UObjectReplicationBridge::GetReplicatedRefHandle ( FNetHandle  Handle) const

Get NetRefHandle from a NetHandle.

◆ GetRootObjectOfAnyObject()

UE::Net::FNetRefHandle UObjectReplicationBridge::GetRootObjectOfAnyObject ( FNetRefHandle  NetRefHandle) const

Returns the root object handle associated with any object. If the passed handle is a subobject it will return its root.
If the passed handle is a rootobject it will return the same handle.

◆ GetRootObjectOfSubObject()

UE::Net::FNetRefHandle UObjectReplicationBridge::GetRootObjectOfSubObject ( FNetRefHandle  SubObjectHandle) const

Get the handle of the root object of any replicated subobject. SubObjectHandle MUST be binded to a subobject

◆ Initialize()

void UObjectReplicationBridge::Initialize ( UReplicationSystem InReplicationSystem)
overrideprotectedvirtual

Initializes the bridge. Is called during ReplicationSystem initialization.

Reimplemented from UReplicationBridge.

Reimplemented in UEngineReplicationBridge.

◆ IsClassCritical()

bool UObjectReplicationBridge::IsClassCritical ( const UClass Class)
protected

Returns true if the class is considered critical and we force a disconnection if a protocol mismatch prevents instances of this class from replicating.

◆ IsClassReplicatedByDefault()

bool UObjectReplicationBridge::IsClassReplicatedByDefault ( const UClass Class) const
protectedvirtual

Returns true if the class is replicated by default. This bridge will assume so.

Reimplemented in UEngineReplicationBridge.

◆ IsNetRefHandlePreRegistered()

bool UObjectReplicationBridge::IsNetRefHandlePreRegistered ( FNetRefHandle  Handle)

Return true only if Handle was registered via PreRegisterNewObjectReferenceHandle or PreregisterObjectWithReferenceHandle

◆ LoadConfig()

void UObjectReplicationBridge::LoadConfig ( )
protected

Re-initialize config-driven parameters found in ObjectReplicationBridgeConfig.

◆ NetFlushDormantObject()

void UObjectReplicationBridge::NetFlushDormantObject ( FNetRefHandle  Handle)

Trigger a single poll to refresh the dirty values of a dormant object.

◆ ObjectLevelHasFinishedLoading()

virtual bool UObjectReplicationBridge::ObjectLevelHasFinishedLoading ( UObject Object) const
inlinevirtual

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

Reimplemented in UEngineReplicationBridge.

◆ OnErrorWithNetRefHandleReported()

void UObjectReplicationBridge::OnErrorWithNetRefHandleReported ( UE::Net::ENetRefHandleError  ErrorType,
FNetRefHandle  RefHandle,
uint32  ConnectionId,
const TArray< FNetRefHandle > &  ExtraNetRefHandle 
)
overrideprotectedvirtual

Called when a remote connection has a critical error caused by a specific NetRefHandle

Reimplemented from UReplicationBridge.

◆ OnPostReceiveUpdate()

void UObjectReplicationBridge::OnPostReceiveUpdate ( )
overrideprotectedvirtual

Invoked after we processed all incoming data

Reimplemented from UReplicationBridge.

◆ OnPostSendUpdate()

void UObjectReplicationBridge::OnPostSendUpdate ( )
overrideprotectedvirtual

Invoked after we sent data to all connections.

Reimplemented from UReplicationBridge.

◆ OnProtocolMismatchDetected()

virtual void UObjectReplicationBridge::OnProtocolMismatchDetected ( FNetRefHandle  ObjectHandle)
inlineprotectedvirtual

Called when we found a divergence between the local and remote protocols when trying to instantiate a remote replicated object.

Reimplemented in UEngineReplicationBridge.

◆ OnProtocolMismatchReported()

void UObjectReplicationBridge::OnProtocolMismatchReported ( FNetRefHandle  RefHandle,
uint32  ConnectionId 
)
overrideprotectedvirtual

Called when a remote connection detected a protocol mismatch when trying to instantiate the NetRefHandle replicated object.

Reimplemented from UReplicationBridge.

Reimplemented in UEngineReplicationBridge.

◆ OnStartPreSendUpdate()

void UObjectReplicationBridge::OnStartPreSendUpdate ( )
overrideprotectedvirtual

Invoked when the ReplicationSystem starts the PreSendUpdate tick.

Reimplemented from UReplicationBridge.

◆ PreRegisterNewObjectReferenceHandle()

UE::Net::FNetRefHandle UObjectReplicationBridge::PreRegisterNewObjectReferenceHandle ( UObject Instance)

Creates a NetRefHandle explicitly for object Instance and flags it as pre-registered in the ObjectReferenceCache. If supported by an object factory, the pre-registered flag is meant to be serialized in a root object creation header and when a client receives a dynamic object header with this flag, it will look for an instance already registered by PreRegisterObjectWithReferenceHandle instead of creating a new instance of the object. Meant for use by the NetDriver's CreateNetIDForObject function.

See also
UNetDriver::CreateNetIDForObject, UObjectReplicationBridge::PreRegisterObjectWithReferenceHandle

◆ PreRegisterObjectWithReferenceHandle()

void UObjectReplicationBridge::PreRegisterObjectWithReferenceHandle ( const UObject Instance,
FNetRefHandle  Handle 
)

Directly assigns Handle to object Instance and flags it as pre-registered in the ObjectReferenceCache. If supported by the object factory, clients receiving an object creation header with the pre-registered flag will look for existing instances registered by this function instead of creating a new instance and use the found instance for replication. Meant for use by the NetDriver's AssignNetIDToObject function.

See also
UNetDriver::AssignNetIDToObject, UObjectReplicationBridge::PreRegisterNewObjectReferenceHandle

◆ PreSendUpdate()

void UObjectReplicationBridge::PreSendUpdate ( )
overrideprotectedvirtual

Invoked before ReplicationSystem copies dirty state data.

Reimplemented from UReplicationBridge.

◆ PreSendUpdateSingleHandle()

void UObjectReplicationBridge::PreSendUpdateSingleHandle ( FNetRefHandle  Handle)
overrideprotectedvirtual

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

Reimplemented from UReplicationBridge.

◆ PrintAlwaysRelevantObjects()

void UObjectReplicationBridge::PrintAlwaysRelevantObjects ( uint32  ArgTraits) const

◆ PrintConnectionInfo()

FString UObjectReplicationBridge::PrintConnectionInfo ( uint32  ConnectionId) const
protectedvirtual

Returns the most relevant description of the client tied to this connection id.

Reimplemented in UEngineReplicationBridge.

◆ PrintDebugInfoForNetRefHandle()

void UObjectReplicationBridge::PrintDebugInfoForNetRefHandle ( const FNetRefHandle  NetHandle,
uint32  ConnectionId,
EPrintDebugInfoTraits  PrintTraits = EPrintDebugInfoTraits::Default 
) const

◆ PrintDebugInfoForNetRefHandlesAndConnections()

void UObjectReplicationBridge::PrintDebugInfoForNetRefHandlesAndConnections ( const TArray< FNetRefHandle > &  NetHandles,
const TArray< FString > &  Args,
EPrintDebugInfoTraits  PrintTraits 
)

◆ PrintDynamicFilterClassConfig()

void UObjectReplicationBridge::PrintDynamicFilterClassConfig ( uint32  ArgTraits)

◆ PrintNetCullDistances()

void UObjectReplicationBridge::PrintNetCullDistances ( const TArray< FString > &  Args) const

◆ PrintPushBasedStatuses()

void UObjectReplicationBridge::PrintPushBasedStatuses ( ) const

◆ PrintRelevantObjects()

void UObjectReplicationBridge::PrintRelevantObjects ( uint32  ArgTraits) const

◆ PrintRelevantObjectsForConnections()

void UObjectReplicationBridge::PrintRelevantObjectsForConnections ( const TArray< FString > &  Args) const

◆ PrintReplicatedObjects()

void UObjectReplicationBridge::PrintReplicatedObjects ( uint32  ArgTraits) const

◆ PruneStaleObjects()

void UObjectReplicationBridge::PruneStaleObjects ( )
overrideprotectedvirtual

Invoked post garbage collect to allow us to detect stale objects

Reimplemented from UReplicationBridge.

◆ ReinitPollFrequency()

void UObjectReplicationBridge::ReinitPollFrequency ( )
protected

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

◆ RemapPathForPIE()

virtual bool UObjectReplicationBridge::RemapPathForPIE ( uint32  ConnectionId,
FString &  Path,
bool  bReading 
) const
inlinevirtual

PIE package name remapping support.

Reimplemented in UEngineReplicationBridge.

◆ RemoveCreationDependencyLink()

void UObjectReplicationBridge::RemoveCreationDependencyLink ( FNetRefHandle  Parent,
FNetRefHandle  Child 
)

Remove a creation dependency link on the child

◆ RemoveDependentObject()

void UObjectReplicationBridge::RemoveDependentObject ( FNetRefHandle  Parent,
FNetRefHandle  DependentObject 
)

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

◆ RemoveDestructionInfosForGroup()

void UObjectReplicationBridge::RemoveDestructionInfosForGroup ( UE::Net::FNetObjectGroupHandle  GroupHandle)
overrideprotectedvirtual

Remove destruction infos associated with group Passing in an invalid group handle indicates that we should remove all destruction infos

Reimplemented from UReplicationBridge.

◆ ResolveObjectReference()

UObject * UObjectReplicationBridge::ResolveObjectReference ( const UE::Net::FNetObjectReference ObjectRef,
const UE::Net::FNetObjectResolveContext ResolveContext 
)

Try to resolve UObject from NetObjectReference, this function tries to resolve the object by loading if necessary.

◆ SendErrorWithNetRefHandle()

virtual void UObjectReplicationBridge::SendErrorWithNetRefHandle ( UE::Net::ENetRefHandleError  ErrorType,
FNetRefHandle  RefHandle,
uint32  ConnectionId,
TConstArrayView< const FNetRefHandle ExtraNetRefHandle = {} 
)
inlinevirtual

Tell the remote connection that we detected a reading error with a specific replicated object

Reimplemented in UEngineReplicationBridge.

◆ SetClassDynamicFilterConfig() [1/2]

void UObjectReplicationBridge::SetClassDynamicFilterConfig ( FName  ClassPathName,
const UE::Net::FNetObjectFilterHandle  FilterHandle,
FName  FilterProfile = NAME_None 
)

Set the object filter to use for objects of this class and any derived classes without an explicit config.

◆ SetClassDynamicFilterConfig() [2/2]

void UObjectReplicationBridge::SetClassDynamicFilterConfig ( FName  ClassPathName,
FName  FilterName,
FName  FilterProfile = NAME_None 
)

◆ SetClassTypeStatsConfig() [1/2]

void UObjectReplicationBridge::SetClassTypeStatsConfig ( const FString &  ClassPathName,
const FString &  TypeStatsName 
)

◆ SetClassTypeStatsConfig() [2/2]

void UObjectReplicationBridge::SetClassTypeStatsConfig ( FName  ClassPathName,
FName  TypeStatsName 
)

Set the TypeStats to use for specified class and any derived classes without explicit config

◆ SetInstancePreUpdateFunction()

void UObjectReplicationBridge::SetInstancePreUpdateFunction ( FInstancePreUpdateFunction  InPreUpdateFunction)
protected

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

◆ SetMaxTickRate()

void UObjectReplicationBridge::SetMaxTickRate ( float  InMaxTickRate)
inlineprotected

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

◆ SetObjectWantsToBeDormant()

void UObjectReplicationBridge::SetObjectWantsToBeDormant ( FNetRefHandle  Handle,
bool  bWantsToBeDormant 
)

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

◆ SetPollFrequency()

void UObjectReplicationBridge::SetPollFrequency ( FNetRefHandle  RootHandle,
float  PollFrequency 
)

Set poll frequency on root object and its subobjects. They will be polled on the same frame.

◆ SetPollWithObject()

void UObjectReplicationBridge::SetPollWithObject ( FNetRefHandle  ObjectToPollWith,
FNetRefHandle  Object 
)
protected

Force polling of Object when ObjectToPollWith is polled.

◆ SetShouldSubclassUseSameFilterFunction()

void UObjectReplicationBridge::SetShouldSubclassUseSameFilterFunction ( TFunction< bool(const UClass *Class, const UClass *Subclass)>  InShouldSubclassUseSameFilterFunction)
protected

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

◆ SetShouldUseDefaultSpatialFilterFunction()

void UObjectReplicationBridge::SetShouldUseDefaultSpatialFilterFunction ( TFunction< bool(const UClass *)>  InShouldUseDefaultSpatialFilterFunction)
protected

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.

◆ SetSubObjectNetCondition()

void UObjectReplicationBridge::SetSubObjectNetCondition ( FNetRefHandle  SubObjectHandle,
ELifetimeCondition  Condition 
)

Set NetCondition for a subobject, the condition is used to determine if the SubObject should replicate or not.

Note
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.

◆ ShouldUseVerboseCsvStats()

bool UObjectReplicationBridge::ShouldUseVerboseCsvStats ( ) const

Getter for CVar net.Iris.UseVerboseIrisCsvStats which is true if we want per-class iris stats output to CSV

◆ StartReplicatingRootObject()

UE::Net::FNetRefHandle UObjectReplicationBridge::StartReplicatingRootObject ( UObject Instance,
const FRootObjectReplicationParams Params,
UE::Net::FNetObjectFactoryId  NetFactoryId 
)

Start replicating a RootObject and return a valid NetRefHandle if successful.

Parameters
InstanceThe instance that needs to be replicated
ParamsOptional configuration parameters to specify how the root object will be replicated.
Returns
The NetRefHandle associated to this object if the operation succeeded.

◆ StartReplicatingSubObject()

UE::Net::FNetRefHandle UObjectReplicationBridge::StartReplicatingSubObject ( UObject Instance,
const FSubObjectReplicationParams Params,
UE::Net::FNetObjectFactoryId  NetFactoryId 
)

Start replicating a SubObject and return a valid NetRefHandle if successful.

Parameters
OwnerHandleThe owner of the subobject
InstanceThe instance that needs to be replicated
InsertRelativeToSubObjectHandleWhen valid the new subobject will be inserted in the subobject replication list next to the specified handle and the wanted insertion order.
InsertionOrderWhen none will always add the new subobject at the end of the list.
Returns
The NetRefHandle of the subobject if successful.

◆ StopReplicatingNetObject()

void UObjectReplicationBridge::StopReplicatingNetObject ( UObject Instance,
EEndReplicationFlags  EndReplicationFlags = EEndReplicationFlags::Destroy 
)

Stop replicating any type of NetObject.

See also
UReplicationBridge::StopReplicatingNetObject for more details.
Parameters
InstanceThe instance that won't be replicated anymore
EndReplicationFlagsOptional settings to modify the function behavior. Defaults to destroy the instance on remote clients.

◆ StoreDestructionInfo()

UE::Net::FNetRefHandle UObjectReplicationBridge::StoreDestructionInfo ( FNetRefHandle  Handle,
const UE::Net::FDestructionParameters Parameters 
)

Store static destruction info for the replicated object.

◆ UpdateInstancesWorldLocation()

void UObjectReplicationBridge::UpdateInstancesWorldLocation ( )
overrideprotectedvirtual

Update world locations in FWorldLocations for objects that support it.

Reimplemented from UReplicationBridge.

Member Data Documentation

◆ bSuppressCreateInstanceFailedEnsure

bool UObjectReplicationBridge::bSuppressCreateInstanceFailedEnsure = false
protected

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