UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CoreUObject::Private::FObjectPathId Class Reference

#include <ObjectPathId.h>

Public Types

enum  EInvalid { Invalid = 0 }
 
using ResolvedNameContainerType = TArray< FName, TInlineAllocator< 3 > >
 

Public Member Functions

 FObjectPathId ()=default
 
 FObjectPathId (const FObjectPathId &Other)=default
 
 FObjectPathId (const UObject *Object)
 
 FObjectPathId (const FObjectImport &Import, const FLinkerTables &LinkerTables)
 
 FObjectPathId (EInvalid)
 
 FObjectPathId (FWideStringView StringPath)
 
 FObjectPathId (FAnsiStringView StringPath)
 
FObjectPathIdoperator= (const FObjectPathId &Other)=default
 
bool operator== (const FObjectPathId &Other) const
 
bool IsNone () const
 
bool IsValid () const
 
bool IsSimple () const
 
bool IsWeakObj () const
 
void Resolve (ResolvedNameContainerType &OutContainer) const
 
FWeakObjectPtr GetWeakObjPtr () const
 
FMinimalName GetSimpleName () const
 
void MakeWeakObjPtr (const UObject &Object)
 
const FStoredObjectPathGetStoredPath () const
 
void Reset ()
 

Static Public Member Functions

static FName MakeImportPathIdAndPackageName (const FObjectImport &Import, const FLinkerTables &LinkerTables, FObjectPathId &OutPathId)
 

Friends

FORCEINLINE uint32 GetTypeHash (FObjectPathId Value)
 

Detailed Description

FObjectPathId is a type tailored to represent object paths, with a focus on avoiding overhead for common import path patterns It is primarily for use by FObjectRef/FPackedObjectRef/FObjectHandle. Most object paths used by FObjectRef will be imports, and are frequently a single FName without any outer components. FObjectPathId can transform to/from most single FNames without any need for a table lookup. For the less common case of an imported object path composed of more than one FName, or if the imported object path has an exceedingly high number component, FObjectPathId transformations will have to do a table lookup.

NOTE: FObjectPathId is NOT case sensitive. Two FObjectPathIds that were constructed with the same path but of differing case will compare as equal. This also means that constructing an FObjectPathId from a path then calling Resolve on it may produce the same set of names as in the original path, but of different case. THIS WILL CAUSE NON-DETERMINISM.

Member Typedef Documentation

◆ ResolvedNameContainerType

Member Enumeration Documentation

◆ EInvalid

Constructor & Destructor Documentation

◆ FObjectPathId() [1/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( )
default

◆ FObjectPathId() [2/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( const FObjectPathId Other)
default

◆ FObjectPathId() [3/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( const UObject Object)
explicit

◆ FObjectPathId() [4/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( const FObjectImport Import,
const FLinkerTables LinkerTables 
)

◆ FObjectPathId() [5/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( EInvalid  )
inlineexplicit

◆ FObjectPathId() [6/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( FWideStringView  StringPath)
explicit

◆ FObjectPathId() [7/7]

UE::CoreUObject::Private::FObjectPathId::FObjectPathId ( FAnsiStringView  StringPath)
explicit

Member Function Documentation

◆ GetSimpleName()

FMinimalName UE::CoreUObject::Private::FObjectPathId::GetSimpleName ( ) const

◆ GetStoredPath()

const FStoredObjectPath & UE::CoreUObject::Private::FObjectPathId::GetStoredPath ( ) const

◆ GetWeakObjPtr()

FWeakObjectPtr UE::CoreUObject::Private::FObjectPathId::GetWeakObjPtr ( ) const

◆ IsNone()

bool UE::CoreUObject::Private::FObjectPathId::IsNone ( ) const
inline

◆ IsSimple()

bool UE::CoreUObject::Private::FObjectPathId::IsSimple ( ) const
inline

◆ IsValid()

bool UE::CoreUObject::Private::FObjectPathId::IsValid ( ) const
inline

◆ IsWeakObj()

bool UE::CoreUObject::Private::FObjectPathId::IsWeakObj ( ) const
inline

◆ MakeImportPathIdAndPackageName()

FName UE::CoreUObject::Private::FObjectPathId::MakeImportPathIdAndPackageName ( const FObjectImport Import,
const FLinkerTables LinkerTables,
FObjectPathId OutPathId 
)
static

◆ MakeWeakObjPtr()

void UE::CoreUObject::Private::FObjectPathId::MakeWeakObjPtr ( const UObject Object)

◆ operator=()

FObjectPathId & UE::CoreUObject::Private::FObjectPathId::operator= ( const FObjectPathId Other)
default

◆ operator==()

bool UE::CoreUObject::Private::FObjectPathId::operator== ( const FObjectPathId Other) const
inline

◆ Reset()

void UE::CoreUObject::Private::FObjectPathId::Reset ( )
inline

◆ Resolve()

void UE::CoreUObject::Private::FObjectPathId::Resolve ( ResolvedNameContainerType OutContainer) const

Friends And Related Symbol Documentation

◆ GetTypeHash

FORCEINLINE uint32 GetTypeHash ( FObjectPathId  Value)
friend

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