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

Namespaces

namespace  Disk
 

Classes

class  FArchetypeDeltaWriter
 
class  FArchiveRemoteObjectReader
 
class  FArchiveRemoteObjectWriter
 
class  FArchiveRemoteReferencePatcher
 
class  FArchiveSubObjectGatherer
 
class  FRemoteObjectConstructionOverrides
 
class  FRemoteObjectConstructionOverridesScope
 
class  FRemoteObjectConstructionOverridesStack
 
struct  FRemoteObjectConstructionParams
 
struct  FRemoteObjectHeader
 
struct  FRemoteObjectReferenceInfo
 
class  TArchiveRemoteObjectBase
 
struct  TRemoteObjectArchiveScope
 

Typedefs

using FRemoteObjectWriterScope = TRemoteObjectArchiveScope< FMemoryWriter >
 
using FRemoteObjectReaderScope = TRemoteObjectArchiveScope< FMemoryReader >
 

Enumerations

enum class  ERemoteReferenceType : uint8 { None = 0 , IdOnly = 1 , PathName = 2 }
 
enum class  ERemoteObjectSerializationFlags : uint8 { None = 0 , UseExistingObjects = (1 << 0) , PreserveRemoteReferences = (1 << 1) , Resetting = (1 << 2) }
 

Functions

UObjectFindArchetype (const UObject *InObj)
 
FArchiveoperator<< (FArchive &Ar, ERemoteReferenceType &RefType)
 
FArchiveoperator<< (FArchive &Ar, FRemoteObjectHeader &Header)
 
UObjectConstructRemoteObject (const FRemoteObjectHeader &Header, ERemoteObjectSerializationFlags DeserializeFlags)
 
void ResolvePathNames (const FRemoteObjectData &InObjectData, TArray< UObject * > &OutResolvedObjects)
 
void SerializeObjectDataInternal (FArchiveRemoteObjectWriter &Ar, UObject *RequestedObject, FRemoteObjectId RequestedObjectId, TSet< UObject * > &OutObjects)
 
FRemoteObjectData SerializeObjectData (UObject *InObject, TSet< UObject * > &OutObjects, TSet< UObject * > &OutReferencedObjects, const FUObjectMigrationContext *MigrationContext)
 
void ResetRemoteObject (UObject *InObject)
 
int32 DeserializeObjectData (FRemoteObjectData &ObjectData, const FUObjectMigrationContext *MigrationContext, TArray< FRemoteObjectId > &OutObjectRemoteIds, TArray< UObject * > &OutObjects, ERemoteObjectSerializationFlags DeserializeFlags)
 
UObjectFindCanonicalRootObjectForSerialization (UObject *Object)
 
 ENUM_CLASS_FLAGS (ERemoteObjectSerializationFlags)
 

Typedef Documentation

◆ FRemoteObjectReaderScope

◆ FRemoteObjectWriterScope

Enumeration Type Documentation

◆ ERemoteObjectSerializationFlags

Enumerator
None 
UseExistingObjects 
PreserveRemoteReferences 
Resetting 

◆ ERemoteReferenceType

Enumerator
None 
IdOnly 
PathName 

Function Documentation

◆ ConstructRemoteObject()

UObject * UE::RemoteObject::Serialization::ConstructRemoteObject ( const FRemoteObjectHeader Header,
ERemoteObjectSerializationFlags  DeserializeFlags 
)

◆ DeserializeObjectData()

int32 UE::RemoteObject::Serialization::DeserializeObjectData ( FRemoteObjectData ObjectData,
const FUObjectMigrationContext MigrationContext,
TArray< FRemoteObjectId > &  OutObjectRemoteIds,
TArray< UObject * > &  OutReceivedObjects,
ERemoteObjectSerializationFlags  DeserializeFlags = ERemoteObjectSerializationFlags::None 
)

Deserializes remote object data

Parameters
ObjectDatathe data to deserailize
MigrationContextthe Context (meta data) of the current migration that's causing the deserialization
OutObjectRemoteIdsRemote IDs of the deserialized objects
OutReceivedObjectsAll deserialized objects
DeserializeFlagsFlags modifying the behavior of the deserialization process
Returns
Index of an object in OutReceivedObjects that was the main object the migration request was triggered for (usually 0 but if a migration requests a default subobject then its parent is also migrated and the return value will be > 0)

◆ ENUM_CLASS_FLAGS()

UE::RemoteObject::Serialization::ENUM_CLASS_FLAGS ( ERemoteObjectSerializationFlags  )

◆ FindArchetype()

UObject * UE::RemoteObject::Serialization::FindArchetype ( const UObject InObj)

◆ FindCanonicalRootObjectForSerialization()

UObject * UE::RemoteObject::Serialization::FindCanonicalRootObjectForSerialization ( UObject Object)

Finds the canonical 'root' object that is used for remote object serialization

  • we trace up the chain of Outer pointers until we reach the first non default subobject

◆ operator<<() [1/2]

FArchive & UE::RemoteObject::Serialization::operator<< ( FArchive Ar,
ERemoteReferenceType RefType 
)

◆ operator<<() [2/2]

FArchive & UE::RemoteObject::Serialization::operator<< ( FArchive Ar,
FRemoteObjectHeader Header 
)

◆ ResetRemoteObject()

void UE::RemoteObject::Serialization::ResetRemoteObject ( UObject InObject)

◆ ResolvePathNames()

void UE::RemoteObject::Serialization::ResolvePathNames ( const FRemoteObjectData InObjectData,
TArray< UObject * > &  OutResolvedObjects 
)

◆ SerializeObjectData()

FRemoteObjectData UE::RemoteObject::Serialization::SerializeObjectData ( UObject InObject,
TSet< UObject * > &  OutObjects,
TSet< UObject * > &  OutReferencedObjects,
const FUObjectMigrationContext MigrationContext 
)

Serializes an object and its subobject (or if the object is a default subobject, its parent and the parent's subobjects)

Parameters
InObjectObject to be serialized
OutObjectsAll objects that have been serialized (Object and its subobjects and/or parent)
OutReferencedObjectsKeeps track of all objects that need to be tagged with RemoteReference
MigrationContextContains the meta data of the current migration request
Returns
Remote object data representing the serialized objects

◆ SerializeObjectDataInternal()

void UE::RemoteObject::Serialization::SerializeObjectDataInternal ( FArchiveRemoteObjectWriter Ar,
UObject RequestedObject,
FRemoteObjectId  RequestedObjectId,
TSet< UObject * > &  OutObjects 
)