UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UObjectBase.cpp File Reference

Classes

struct  FPendingRegistrantInfo
 
struct  FPendingRegistrant
 

Namespaces

namespace  Internal
 

Functions

 DEFINE_LOG_CATEGORY_STATIC (LogUObjectBase, Log, All)
 
 DEFINE_STAT (STAT_UObjectsStatGroupTester)
 
 DECLARE_CYCLE_STAT (TEXT("CreateStatID"), STAT_CreateStatID, STATGROUP_StatSystem)
 
 DEFINE_LOG_CATEGORY (LogUObjectBootstrap)
 
 LLM_DEFINE_TAG (UObject_UObjectBase)
 
bool UObjectInitialized ()
 
void UObjectProcessRegistrants ()
 
void UObjectForceRegistration (UObjectBase *Object, bool bCheckForModuleRelease)
 
void RegisterCompiledInInfo (class UScriptStruct *(*InOuterRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FStructRegistrationInfo &InInfo, const FStructReloadVersionInfo &InVersionInfo)
 
class UScriptStructGetStaticStruct (class UScriptStruct *(*InRegister)(), UObject *StructOuter, const TCHAR *StructName)
 
void RegisterCompiledInInfo (class UEnum *(*InOuterRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FEnumRegistrationInfo &InInfo, const FEnumReloadVersionInfo &InVersionInfo)
 
class UEnumGetStaticEnum (class UEnum *(*InRegister)(), UObject *EnumOuter, const TCHAR *EnumName)
 
void RegisterCompiledInInfo (class UClass *(*InOuterRegister)(), class UClass *(*InInnerRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FClassRegistrationInfo &InInfo, const FClassReloadVersionInfo &InVersionInfo)
 
void RegisterCompiledInInfo (UPackage *(*InOuterRegister)(), const TCHAR *InPackageName, FPackageRegistrationInfo &InInfo, const FPackageReloadVersionInfo &InVersionInfo)
 
void RegisterCompiledInInfo (const TCHAR *PackageName, const FClassRegisterCompiledInInfo *ClassInfo, size_t NumClassInfo, const FStructRegisterCompiledInInfo *StructInfo, size_t NumStructInfo, const FEnumRegisterCompiledInInfo *EnumInfo, size_t NumEnumInfo)
 
void UClassRegisterAllCompiledInClasses ()
 
void RegisterModularObjectsProcessing ()
 
void ProcessNewlyLoadedUObjects (FName InModuleName, bool bCanProcessNewlyLoadedObjects)
 
void UObjectBaseInit ()
 
void UObjectBaseShutdown ()
 
const TCHARDebugFName (UObject *Object)
 
const TCHARDebugPathName (UObject *Object)
 
const TCHARDebugFullName (UObject *Object)
 

Function Documentation

◆ DebugFName()

const TCHAR * DebugFName ( UObject Object)

Helper function that can be used inside the debuggers watch window. E.g. "DebugFName(Class)".

Parameters
ObjectObject to look up the name for
Returns
Associated name

◆ DebugFullName()

const TCHAR * DebugFullName ( UObject Object)

Helper function that can be used inside the debuggers watch window. E.g. "DebugFName(Object)".

Parameters
ObjectObject to look up the name for
Returns
Fully qualified path name prepended by class name

◆ DebugPathName()

const TCHAR * DebugPathName ( UObject Object)

Helper function that can be used inside the debuggers watch window. E.g. "DebugFName(Object)".

Parameters
ObjectObject to look up the name for
Returns
Fully qualified path name

◆ DECLARE_CYCLE_STAT()

DECLARE_CYCLE_STAT ( TEXT("CreateStatID")  ,
STAT_CreateStatID  ,
STATGROUP_StatSystem   
)

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogUObjectBootstrap  )

◆ DEFINE_LOG_CATEGORY_STATIC()

DEFINE_LOG_CATEGORY_STATIC ( LogUObjectBase  ,
Log  ,
All   
)

◆ DEFINE_STAT()

DEFINE_STAT ( STAT_UObjectsStatGroupTester  )

◆ GetStaticEnum()

class UEnum * GetStaticEnum ( class UEnum *(*)()  InRegister,
UObject EnumOuter,
const TCHAR EnumName 
)

Invoke the registration method wrapped in notifications.

◆ GetStaticStruct()

class UScriptStruct * GetStaticStruct ( class UScriptStruct *(*)()  InRegister,
UObject StructOuter,
const TCHAR StructName 
)

Invoke the registration method wrapped in notifications.

◆ LLM_DEFINE_TAG()

LLM_DEFINE_TAG ( UObject_UObjectBase  )

◆ ProcessNewlyLoadedUObjects()

void ProcessNewlyLoadedUObjects ( FName  InModuleName = NAME_None,
bool  bCanProcessNewlyLoadedObjects = true 
)

Must be called after a module has been loaded that contains UObject classes

◆ RegisterCompiledInInfo() [1/5]

void RegisterCompiledInInfo ( class UClass *(*)()  InOuterRegister,
class UClass *(*)()  InInnerRegister,
const TCHAR InPackageName,
const TCHAR InName,
FClassRegistrationInfo InInfo,
const FClassReloadVersionInfo InVersionInfo 
)

Adds a class registration and version information. The InInfo parameter must be static.

◆ RegisterCompiledInInfo() [2/5]

void RegisterCompiledInInfo ( class UEnum *(*)()  InOuterRegister,
const TCHAR InPackageName,
const TCHAR InName,
FEnumRegistrationInfo InInfo,
const FEnumReloadVersionInfo InVersionInfo 
)

Adds a static enum registration and version information. The InInfo parameter must be static.

◆ RegisterCompiledInInfo() [3/5]

void RegisterCompiledInInfo ( class UScriptStruct *(*)()  InOuterRegister,
const TCHAR InPackageName,
const TCHAR InName,
FStructRegistrationInfo InInfo,
const FStructReloadVersionInfo InVersionInfo 
)

Adds a struct registration and version information. The InInfo parameter must be static.

◆ RegisterCompiledInInfo() [4/5]

void RegisterCompiledInInfo ( const TCHAR PackageName,
const FClassRegisterCompiledInInfo ClassInfo,
size_t  NumClassInfo,
const FStructRegisterCompiledInInfo StructInfo,
size_t  NumStructInfo,
const FEnumRegisterCompiledInInfo EnumInfo,
size_t  NumEnumInfo 
)

Register compiled in information for multiple classes, structures, and enumerations

◆ RegisterCompiledInInfo() [5/5]

void RegisterCompiledInInfo ( UPackage *(*)()  InOuterRegister,
const TCHAR InPackageName,
FPackageRegistrationInfo InInfo,
const FPackageReloadVersionInfo InVersionInfo 
)

Adds a static package registration and version information. The InInfo parameter must be static.

◆ RegisterModularObjectsProcessing()

void RegisterModularObjectsProcessing ( )

Must be called to register UObject-related callbacks with the module manager

◆ UClassRegisterAllCompiledInClasses()

void UClassRegisterAllCompiledInClasses ( )

Register all loaded classes

◆ UObjectBaseInit()

void UObjectBaseInit ( )

Final phase of UObject initialization. all auto register objects are added to the main data structures.

◆ UObjectBaseShutdown()

void UObjectBaseShutdown ( )

Final phase of UObject shutdown

◆ UObjectForceRegistration()

void UObjectForceRegistration ( UObjectBase Object,
bool  bCheckForModuleRelease = true 
)

Force a pending registrant to register now instead of in the natural order

◆ UObjectInitialized()

bool UObjectInitialized ( )

Checks to see if the UObject subsystem is fully bootstrapped and ready to go. If true, then all objects are registered and auto registration of natives is over, forever.

Returns
true if the UObject subsystem is initialized.

◆ UObjectProcessRegistrants()

void UObjectProcessRegistrants ( )

Process the auto register objects adding them to the UObject array