Navigation
API > API/Runtime > API/Runtime/CoreUObject
Provides utility functions for UObject, this class should not be used directly
| Name | UObjectBaseUtility |
| Type | class |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectBaseUtility.h |
| Include Path | #include "UObject/UObjectBaseUtility.h" |
Syntax
class UObjectBaseUtility : public UObjectBase
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Constructors. | UObject/UObjectBaseUtility.h | ||
UObjectBaseUtility
(
EObjectFlags InFlags |
UObject/UObjectBaseUtility.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| bGarbageEliminationEnabled | bool | If true references to objects marked as Garbage will be automatically eliminated by Garbage Collector | UObject/UObjectBaseUtility.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddToCluster
(
UObjectBaseUtility* ClusterRootOrObjectFromCluster, |
Adds this objects to a GC cluster that already exists | UObject/UObjectBaseUtility.h | |
void AddToRoot () |
Add an object to the root set. | UObject/UObjectBaseUtility.h | |
void AppendName
(
FString& ResultString |
Optimized version of GetName that appends to an existing string | UObject/UObjectBaseUtility.h | |
bool AtomicallyClearInternalFlags
(
EInternalObjectFlags FlagsToClear |
Atomically clears passed in internal flags. | UObject/UObjectBaseUtility.h | |
virtual bool CanBeClusterRoot() |
Called after load to determine if the object can be a cluster root | UObject/UObjectBaseUtility.h | |
virtual bool CanBeInCluster() |
Called during cluster construction if the object can be added to a cluster | UObject/UObjectBaseUtility.h | |
void ClearFlags
(
EObjectFlags FlagsToClear |
Clears subset of flags for a specific object | UObject/UObjectBaseUtility.h | |
void ClearGarbage() |
Unmarks this object as Garbage. | UObject/UObjectBaseUtility.h | |
void ClearInternalFlags
(
EInternalObjectFlags FlagsToClear |
Clears passed in internal flags. | UObject/UObjectBaseUtility.h | |
virtual void CreateCluster() |
Called after PostLoad to create UObject cluster | UObject/UObjectBaseUtility.h | |
void DetachExternalPackage() |
Utility function to temporarily detach the object external package, if any GetPackage will report the outer's package once detached | UObject/UObjectBaseUtility.h | |
| Finds the most-derived class which is a parent of both TestClass and this object's class. | UObject/UObjectBaseUtility.h | ||
EObjectMark GetAllMarks() |
Returns all of the object marks on a specific object | UObject/UObjectBaseUtility.h | |
FString GetFullGroupName
(
bool bStartWithOuter |
Walks up the chain of packages until it reaches the top level, which it ignores. | UObject/UObjectBaseUtility.h | |
void GetFullName
(
FStringBuilderBase& ResultString, |
Returns the fully qualified pathname for this object as well as the name of the class, in the format: 'ClassName Outermost[.Outer].Name'. | UObject/UObjectBaseUtility.h | |
void GetFullName
(
const UObject* StopOuter, |
Version of GetFullName() that eliminates unnecessary copies. | UObject/UObjectBaseUtility.h | |
FString GetFullName
(
const UObject* StopOuter, |
Returns the fully qualified pathname for this object as well as the name of the class, in the format: 'ClassName Outermost[.Outer].Name'. | UObject/UObjectBaseUtility.h | |
InterfaceClassType * GetImplementingOuter() |
Traverses the outer chain looking for the next object that implements the specified IInterface (InterfaceClass must be an IInterface) | UObject/UObjectBaseUtility.h | |
UObjectBaseUtility * GetImplementingOuterObject
(
const UClass* InInterfaceClass |
Traverses the outer chain looking for the next object that implements the specified UInterface (InInterfaceClass must be a subclass of UInterface) | UObject/UObjectBaseUtility.h | |
void * GetInterfaceAddress
(
UClass* InterfaceClass |
Returns a pointer to this object safely converted to a pointer of the specified interface class. | UObject/UObjectBaseUtility.h | |
EInternalObjectFlags GetInternalFlags() |
Gets internal flags. | UObject/UObjectBaseUtility.h | |
FLinkerLoad * GetLinker() |
Returns the linker for this object. | UObject/UObjectBaseUtility.h | |
int32 GetLinkerCustomVersion
(
FGuid CustomVersionKey |
Returns the custom version of the linker for this object corresponding to the given custom version key. | UObject/UObjectBaseUtility.h | |
int32 GetLinkerIndex() |
Returns this object's LinkerIndex. | UObject/UObjectBaseUtility.h | |
int32 GetLinkerLicenseeUE4Version() |
UObject/UObjectBaseUtility.h | ||
int32 GetLinkerLicenseeUEVersion() |
Returns the licensee version of the linker for this object. | UObject/UObjectBaseUtility.h | |
int32 GetLinkerUE4Version() |
UObject/UObjectBaseUtility.h | ||
| Returns the UE version of the linker for this object. | UObject/UObjectBaseUtility.h | ||
EObjectFlags GetMaskedFlags
(
EObjectFlags Mask |
Returns object flags that are both in the mask and set on the object. | UObject/UObjectBaseUtility.h | |
| Returns the name of this object (with no path information) | UObject/UObjectBaseUtility.h | ||
| Optimized version of GetName that overwrites an existing string | UObject/UObjectBaseUtility.h | ||
const void * GetNativeInterfaceAddress
(
UClass* InterfaceClass |
Returns a pointer to the const I* native interface object that this object implements. | UObject/UObjectBaseUtility.h | |
void * GetNativeInterfaceAddress
(
UClass* InterfaceClass |
Returns a pointer to the I* native interface object that this object implements. | UObject/UObjectBaseUtility.h | |
UPackage * GetOutermost () |
Legacy function, has the same behavior as GetPackage use GetPackage instead. | UObject/UObjectBaseUtility.h | |
| Walks up the list of outers until it finds the top-level one that isn't a package. | UObject/UObjectBaseUtility.h | ||
UPackage * GetPackage() |
Walks up the list of outers until it finds a package directly associated with the object. | UObject/UObjectBaseUtility.h | |
FString GetPathName
(
const UObject* StopOuter |
Returns the fully qualified pathname for this object, in the format: 'Outermost[.Outer].Name' | UObject/UObjectBaseUtility.h | |
void GetPathName
(
const UObject* StopOuter, |
Versions of GetPathName() that eliminates unnecessary copies and allocations. | UObject/UObjectBaseUtility.h | |
void GetPathName
(
const UObject* StopOuter, |
UObject/UObjectBaseUtility.h | ||
int32 GetRefCount() |
Returns the refcount of the object | UObject/UObjectBaseUtility.h | |
TStatId GetStatID
(
bool bForDeferredUse |
Returns the stat ID of the object, used for profiling. This will create a stat ID if needed. | UObject/UObjectBaseUtility.h | |
T * GetTypedOuter () |
Traverses the outer chain searching for the next object of a certain type. | UObject/UObjectBaseUtility.h | |
UObject * GetTypedOuter
(
UClass* Target |
Traverses the outer chain searching for the next object of a certain type. | UObject/UObjectBaseUtility.h | |
virtual UE::Core::FVersePath GetVersePath() |
Gets the versepath of the UObject. | UObject/UObjectBaseUtility.h | |
bool HasAllFlags
(
EObjectFlags FlagsToCheck |
Used to safely check whether all of the passed in flags are set. | UObject/UObjectBaseUtility.h | |
bool HasAllMarks
(
EObjectMark Marks |
Tests an object for having ALL of a set of marks | UObject/UObjectBaseUtility.h | |
bool HasAnyFlags
(
EObjectFlags FlagsToCheck |
Used to safely check whether any of the passed in flags are set. | UObject/UObjectBaseUtility.h | |
bool HasAnyInternalFlags
(
EInternalObjectFlags FlagsToCheck |
Used to safely check whether any of the passed in internal flags are set. | UObject/UObjectBaseUtility.h | |
bool HasAnyMarks
(
EObjectMark Marks |
Tests an object for having ANY of a set of marks | UObject/UObjectBaseUtility.h | |
bool IsA
(
OtherClassType SomeBase |
Returns true if this object is of the specified type. | UObject/UObjectBaseUtility.h | |
bool IsA () |
Returns true if this object is of the template type. | UObject/UObjectBaseUtility.h | |
bool IsDefaultSubobject () |
Returns whether this is a subobject (template or instance) that was originally defined inside a default class object. | UObject/UObjectBaseUtility.h | |
Return the dispatch to IsInOuter_ or IsInPackage_ depending on SomeOuter's class. |
UObject/UObjectBaseUtility.h | ||
| Overload to determine if an object is in the specified package which can now be different than its outer chain. | UObject/UObjectBaseUtility.h | ||
bool IsInA
(
const UClass* SomeBaseClass |
Find out if this object is inside (has an outer) that is of the specified class | UObject/UObjectBaseUtility.h | |
bool IsInOuter
(
const UObject* SomeOuter |
Returns true if the object is contained in the specified outer. | UObject/UObjectBaseUtility.h | |
bool IsInPackage
(
const UPackage* SomePackage |
Returns true if the object is contained in the specified package. | UObject/UObjectBaseUtility.h | |
bool IsNative() |
Checks if the object is native. | UObject/UObjectBaseUtility.h | |
bool IsPackageExternal() |
Get the object packaging mode. | UObject/UObjectBaseUtility.h | |
bool IsRooted() |
Returns true if this object is explicitly rooted | UObject/UObjectBaseUtility.h | |
bool IsTemplate
(
EObjectFlags TemplateTypes |
Determines whether this object is a template object by checking flags on the object and the outer chain. | UObject/UObjectBaseUtility.h | |
bool IsTemplateForSubobjects
(
EObjectFlags TemplateTypes |
Returns whether this is a template that can be used to create instanced subobjects. | UObject/UObjectBaseUtility.h | |
bool IsUnreachable() |
Checks if the object is unreachable. | UObject/UObjectBaseUtility.h | |
void Mark
(
EObjectMark Marks |
Adds marks to an object | UObject/UObjectBaseUtility.h | |
void MarkAsGarbage() |
Marks this object as Garbage. | UObject/UObjectBaseUtility.h | |
bool MarkPackageDirty () |
Finds the outermost package and marks it dirty. | UObject/UObjectBaseUtility.h | |
virtual void OnClusterMarkedAsPendingKill() |
Called during Garbage Collection to perform additional cleanup when the cluster is about to be destroyed due to PendingKill flag being set on it. | UObject/UObjectBaseUtility.h | |
void ReattachExternalPackage() |
Utility function to reattach the object external package, if any GetPackage will report the object external package if set after this call | UObject/UObjectBaseUtility.h | |
void RemoveFromRoot() |
Remove an object from the root set. | UObject/UObjectBaseUtility.h | |
bool RootPackageHasAnyFlags
(
uint32 CheckFlagMask |
Checks whether this object's top-most package has any of the specified flags | UObject/UObjectBaseUtility.h | |
void SetFlags
(
EObjectFlags NewFlags |
Modifies object flags for a specific object | UObject/UObjectBaseUtility.h | |
void SetInternalFlags
(
EInternalObjectFlags FlagsToSet |
Clears passed in internal flags. | UObject/UObjectBaseUtility.h | |
bool ThisThreadAtomicallyClearedRFUnreachable() |
Atomically clear the unreachable flag | UObject/UObjectBaseUtility.h | |
void UnMark
(
EObjectMark Marks |
Removes marks from and object | UObject/UObjectBaseUtility.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool IsChildOfWorkaround
(
const ClassType* ObjClass, |
UObject/UObjectBaseUtility.h | ||
static bool IsGarbageEliminationEnabled() |
Helper function to access the private bGarbageEliminationEnabled variable | UObject/UObjectBaseUtility.h | |
static bool IsPendingKillEnabled() |
UObject/UObjectBaseUtility.h | ||
static void ReloadObjectsFromModifiedConfigSections
(
const FConfigModificationTracker* ChangeTracker |
UObject/UObjectBaseUtility.h | ||
static void SetGarbageEliminationEnabled
(
bool bEnabled |
Helper function to set the private bGarbageEliminationEnabled variable. | UObject/UObjectBaseUtility.h |