UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::RemoteObject::Handle Namespace Reference

Classes

struct  FPhysicsIslandId
 
struct  FRemoteObjectClass
 
struct  FRemoteObjectStub
 

Enumerations

enum class  ERemoteReferenceType { Strong = 0 , Weak = 1 }
 
enum class  ERemoteObjectGetClassBehavior { ReturnNullIfNeverLocal , MigrateIfNeverLocal }
 

Functions

bool IsRemote (FRemoteObjectId ObjectId)
 
bool IsRemote (const UObject *Object)
 
bool IsOwned (const UObject *Object)
 
bool IsOwned (FRemoteObjectId ObjectId)
 
FRemoteServerId GetOwnerServerId (const UObject *Object)
 
void ChangeOwnerServerId (const UObject *Object, FRemoteServerId NewOwnerServerId)
 
FPhysicsIslandId GetPhysicsIslandId (const UObject *Object)
 
void ChangePhysicsIslandId (const UObject *Object, FPhysicsIslandId NewPhysicsIslandId)
 
void ClearAllPhysicsServerId ()
 
void UpdateAllPhysicsServerId (const TMap< FPhysicsIslandId, FPhysicsIslandId > &PhysicsServerMergingMap)
 
void UpdateAllPhysicsLocalIslandId (const TMap< uint32, uint32 > &PhysicsLocalIslandMergingMap)
 
UObjectResolveObject (const FRemoteObjectStub *Stub, ERemoteReferenceType RefType)
 
UObjectResolveObject (UObject *Object, ERemoteReferenceType RefType)
 
void TouchResidentObject (UObject *Object)
 
bool CanResolveObject (FRemoteObjectId ObjectId)
 
UClassGetClass (FRemoteObjectId ObjectId, ERemoteObjectGetClassBehavior GetClassBehavior)
 
UE_FORCEINLINE_HINT uint32 GetTypeHash (const FPhysicsIslandId &Key)
 

Enumeration Type Documentation

◆ ERemoteObjectGetClassBehavior

Enumerator
ReturnNullIfNeverLocal 

If the object was never local, then simply return a null class

MigrateIfNeverLocal 

If the object was never local, force a migration to enforce a correct return value

◆ ERemoteReferenceType

Enumerator
Strong 
Weak 

Function Documentation

◆ CanResolveObject()

COREUOBJECT_API bool UE::RemoteObject::Handle::CanResolveObject ( FRemoteObjectId  ObjectId)

Resolves a remote object

Parameters
ObjectObject id to resolve
RefTypeReference type that wants to resolve an object
Returns
True if a remote object can be resolved

◆ ChangeOwnerServerId()

COREUOBJECT_API void UE::RemoteObject::Handle::ChangeOwnerServerId ( const UObject Object,
FRemoteServerId  NewOwnerServerId 
)

Sets the owner server id for a locally resident object

◆ ChangePhysicsIslandId()

COREUOBJECT_API void UE::RemoteObject::Handle::ChangePhysicsIslandId ( const UObject Object,
FPhysicsIslandId  NewPhysicsIslandId 
)

◆ ClearAllPhysicsServerId()

COREUOBJECT_API void UE::RemoteObject::Handle::ClearAllPhysicsServerId ( )

◆ GetClass()

COREUOBJECT_API UClass * UE::RemoteObject::Handle::GetClass ( FRemoteObjectId  ObjectId,
ERemoteObjectGetClassBehavior  GetClassBehavior 
)

Attempts to Get the Class of a given ObjectId without performing a migration. This will succeed if the ObjectId has ever been local. If the RemoteObjectId has never been local, you can decide if a Migration will occur or Null should be returned.

◆ GetOwnerServerId()

COREUOBJECT_API FRemoteServerId UE::RemoteObject::Handle::GetOwnerServerId ( const UObject Object)

Get the owner server id for a locally resident object

◆ GetPhysicsIslandId()

COREUOBJECT_API FPhysicsIslandId UE::RemoteObject::Handle::GetPhysicsIslandId ( const UObject Object)

Get PhysicsIslandId of the input object

◆ GetTypeHash()

UE_FORCEINLINE_HINT uint32 UE::RemoteObject::Handle::GetTypeHash ( const FPhysicsIslandId Key)

◆ IsOwned() [1/2]

COREUOBJECT_API bool UE::RemoteObject::Handle::IsOwned ( const UObject Object)

Checks if a locally resident object is owned by this server

◆ IsOwned() [2/2]

COREUOBJECT_API bool UE::RemoteObject::Handle::IsOwned ( FRemoteObjectId  ObjectId)

Checks if an object id is owned by this server We are only able to check if we own the object. If we don't own the object then we don't have a reliable way of knowing who the owner is, which is why the below GetOwnerServerId function requires the object be locally resident

◆ IsRemote() [1/2]

COREUOBJECT_API bool UE::RemoteObject::Handle::IsRemote ( const UObject Object)

Checks if an object (memory that has not yet been GC'd) is remote

Returns
True if the object is remote

◆ IsRemote() [2/2]

COREUOBJECT_API bool UE::RemoteObject::Handle::IsRemote ( FRemoteObjectId  ObjectId)

Checks if an object associated with the specified unique id is remote

Returns
True if an object associated with the specified unique id is remote

◆ ResolveObject() [1/2]

COREUOBJECT_API UObject * UE::RemoteObject::Handle::ResolveObject ( const FRemoteObjectStub Stub,
ERemoteReferenceType  RefType = ERemoteReferenceType::Strong 
)

Resolves a remote object given its stub, aborting the active transaction if the object is unavailable

Parameters
StubBasic data required to migrate a remote object
RefTypeReference type that wants to resolve an object
Returns
Resolved object

◆ ResolveObject() [2/2]

COREUOBJECT_API UObject * UE::RemoteObject::Handle::ResolveObject ( UObject Object,
ERemoteReferenceType  RefType = ERemoteReferenceType::Strong 
)

Resolves a remote object, aborting the active transaction if the object is unavailable

Parameters
ObjectObject to resolve (remote object memory that has not yet been GC'd)
RefTypeReference type that wants to resolve an object
Returns
Resolved object

◆ TouchResidentObject()

COREUOBJECT_API void UE::RemoteObject::Handle::TouchResidentObject ( UObject Object)

◆ UpdateAllPhysicsLocalIslandId()

COREUOBJECT_API void UE::RemoteObject::Handle::UpdateAllPhysicsLocalIslandId ( const TMap< uint32, uint32 > &  PhysicsLocalIslandMergingMap)

Updates all FPhysicsIslandId::PhysicsLocalIslandId based on input map. Usage can be found in description of UE::RemoteObject::Handle::UpdateAllPhysicsLocalIslandId

Updates PhysicsLocalIslandId of FPhysicsIslandId using the input map. Usage in DstmPhysicsMigration.cpp for local island computation.

◆ UpdateAllPhysicsServerId()

COREUOBJECT_API void UE::RemoteObject::Handle::UpdateAllPhysicsServerId ( const TMap< FPhysicsIslandId, FPhysicsIslandId > &  PhysicsServerMergingMap)

Updates FPhysicsIslandId::PhysicsServerId using the input map. Updating PhysicsServerId only because it is the only data needed for physics migration. (SeeDstmPhysicsMigration.cpp)