UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UObjectBase.h File Reference
#include "Containers/Map.h"
#include "Containers/UnrealString.h"
#include "HAL/LowLevelMemTracker.h"
#include "HAL/PlatformAtomics.h"
#include "HAL/PlatformMath.h"
#include "Misc/AssertionMacros.h"
#include "Stats/Stats.h"
#include "UObject/NameTypes.h"
#include "UObject/RemoteObjectTypes.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "UObject/UnrealNames.h"
#include "UObject/ObjectPtr.h"
#include "AutoRTFM.h"

Go to the source code of this file.

Classes

class  UObjectBase
 
struct  TRegistrationInfo< T, V >
 
struct  FClassReloadVersionInfo
 
struct  FClassRegisterCompiledInInfo
 
struct  FStructReloadVersionInfo
 
struct  FStructRegisterCompiledInInfo
 
struct  FEnumReloadVersionInfo
 
struct  FEnumRegisterCompiledInInfo
 
struct  FPackageReloadVersionInfo
 
struct  FRegisterCompiledInInfo
 

Namespaces

namespace  UE
 
namespace  UE::CoreUObject
 
namespace  UE::CoreUObject::Private
 

Macros

#define UE_STORE_OBJECT_LIST_INTERNAL_INDEX   0
 

Typedefs

using FClassRegistrationInfo = TRegistrationInfo< UClass, FClassReloadVersionInfo >
 
using FStructRegistrationInfo = TRegistrationInfo< UScriptStruct, FStructReloadVersionInfo >
 
using FEnumRegistrationInfo = TRegistrationInfo< UEnum, FEnumReloadVersionInfo >
 
using FPackageRegistrationInfo = TRegistrationInfo< UPackage, FPackageReloadVersionInfo >
 

Functions

 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("STAT_UObjectsStatGroupTester"), STAT_UObjectsStatGroupTester, STATGROUP_UObjects, COREUOBJECT_API)
 
COREUOBJECT_API bool UObjectInitialized ()
 
COREUOBJECT_API void UObjectForceRegistration (UObjectBase *Object, bool bCheckForModuleRelease=true)
 
COREUOBJECT_API void RegisterCompiledInInfo (class UClass *(*InOuterRegister)(), class UClass *(*InInnerRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FClassRegistrationInfo &InInfo, const FClassReloadVersionInfo &InVersionInfo)
 
COREUOBJECT_API void RegisterCompiledInInfo (class UScriptStruct *(*InOuterRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FStructRegistrationInfo &InInfo, const FStructReloadVersionInfo &InVersionInfo)
 
COREUOBJECT_API class UScriptStructGetStaticStruct (class UScriptStruct *(*InRegister)(), UObject *StructOuter, const TCHAR *StructName)
 
COREUOBJECT_API void RegisterCompiledInInfo (class UEnum *(*InOuterRegister)(), const TCHAR *InPackageName, const TCHAR *InName, FEnumRegistrationInfo &InInfo, const FEnumReloadVersionInfo &InVersionInfo)
 
COREUOBJECT_API class UEnumGetStaticEnum (class UEnum *(*InRegister)(), UObject *EnumOuter, const TCHAR *EnumName)
 
COREUOBJECT_API void RegisterCompiledInInfo (UPackage *(*InOuterRegister)(), const TCHAR *InPackageName, FPackageRegistrationInfo &InInfo, const FPackageReloadVersionInfo &InVersionInfo)
 
COREUOBJECT_API void RegisterCompiledInInfo (const TCHAR *PackageName, const FClassRegisterCompiledInInfo *ClassInfo, size_t NumClassInfo, const FStructRegisterCompiledInInfo *StructInfo, size_t NumStructInfo, const FEnumRegisterCompiledInInfo *EnumInfo, size_t NumEnumInfo)
 
COREUOBJECT_API void RegisterModularObjectsProcessing ()
 
COREUOBJECT_API void ProcessNewlyLoadedUObjects (FName InModuleName=NAME_None, bool bCanProcessNewlyLoadedObjects=true)
 
void UObjectBaseInit ()
 
void UObjectBaseShutdown ()
 

Macro Definition Documentation

◆ UE_STORE_OBJECT_LIST_INTERNAL_INDEX

#define UE_STORE_OBJECT_LIST_INTERNAL_INDEX   0

Typedef Documentation

◆ FClassRegistrationInfo

Registration information for classes

◆ FEnumRegistrationInfo

Registration information for enums

◆ FPackageRegistrationInfo

Registration information for packages

◆ FStructRegistrationInfo

Registration information for structures

Function Documentation

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN()

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("STAT_UObjectsStatGroupTester")  ,
STAT_UObjectsStatGroupTester  ,
STATGROUP_UObjects  ,
COREUOBJECT_API   
)

◆ GetStaticEnum()

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

Invoke the registration method wrapped in notifications.

◆ GetStaticStruct()

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

Invoke the registration method wrapped in notifications.

◆ ProcessNewlyLoadedUObjects()

COREUOBJECT_API 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]

COREUOBJECT_API 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]

COREUOBJECT_API 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]

COREUOBJECT_API 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]

COREUOBJECT_API 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]

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

COREUOBJECT_API void RegisterModularObjectsProcessing ( )

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

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

COREUOBJECT_API void UObjectForceRegistration ( UObjectBase Object,
bool  bCheckForModuleRelease = true 
)

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

◆ UObjectInitialized()

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