UObject

Inheritance Hierarchy

Syntax

class UObject : public UObjectBaseUtility

Remarks

Object: The base class all objects. This is a built-in Unreal class and it shouldn't be modified by mod authors. The full C++ class is located here: Engine\Source\Runtime\CoreUObject\Public\UObject\UObject.h=============================================================================

The base class of all objects.

Constructors

Name Description

Public function

UObject()

Constructors and destructors.

Public function

UObject

(
    const FObjectInitializer & ObjectIn...
)

Default UObject constructor.

Public function

UObject

(
    FVTableHelper & Helper
)

DO NOT USE. This constructor is for internal usage only for hot-reload purposes.

Public function

UObject

(
    const FObjectInitializer & ObjectIn...
)

Public function

UObject

(
    FVTableHelper & Helper
)

DO NOT USE. This constructor is for internal usage only for hot-reload purposes.

Public function

UObject

(
    EStaticConstructor ,
    EObjectFlags InFlags
)

Functions

Name Description

Public function Static

void

 

__DefaultConstructor

(
    const FObjectInitializer & X
)

Public function Static

UObject *...

 

__VTableCtorCaller

(
    FVTableHelper & Helper
)

Public function Static

void

 

AddReferencedObjects

(
    UObject * InThis,
    FReferenceCollector & Collector
)

Callback used to allow object register its direct object references that are not already covered by the token stream.

Public function Virtual

bool

 

AreNativePropertiesIdenticalTo

(
    UObject * Other
)

Returns whether native properties are identical to the one of the passed in component.

Public function Virtual

void

 

BeginCacheForCookedPlatformData

(
    const ITargetPlatform * TargetP...
)

Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual

void

 

BuildSubobjectMapping

(
    UObject * OtherObject,
    TMap < UObject *, UObject * ...
)

Given OtherObject (which will be the same type as 'this'), recursively find any matching sub-objects from 'this' that also exist within OtherObject, and add the mappings to ObjectMapping.

Public function

void

 

CallAddReferencedObjects

(
    FReferenceCollector & Collector
)

Helper function to call AddReferencedObjects for this object's class.

Public function

void

 

CallFunction

(
    FFrame & Stack,
    void*const Z_Param__Result,
    UFunction * Function
)

Call a function.

Public function

bool

 

CallFunctionByNameWithArguments

(
    const TCHAR * Cmd,
    FOutputDevice & Ar,
    UObject * Executor,
    bool bForceCallWithNonExec
)

Command line.

Public function Virtual

bool

 

CallRemoteFunction

(
    UFunction * Function,
    void* Parms,
    FOutParmRec * OutParms,
    FFrame * Stack
)

Call the actor's function remotely

Protected function

bool

 

CanCheckDefaultSubObjects

(
    bool bForceCheck,
    bool& bResult
)

Checks it's ok to perform subobjects check at this time.

Public function Static

bool

 

CanCreateInCurrentContext

(
    UObject * Template
)

Determines if you can create an object from the supplied template in the current context (editor, client only, dedicated server, game/listen) This calls NeedsLoadForClient & NeedsLoadForServer

Public function Virtual

bool

 

CanEditChange

(
    const UProperty * InProperty
)

Called by the editor to query whether a property of this object is allowed to be modified.

Public function

bool

 

CanModify()

Utility to allow overrides of Modify to avoid doing work if the base class is not going modify anyways.

Public function

bool

 

CheckDefaultSubobjects

(
    bool bForceCheck
)

Checks default sub-object assumptions.

true if the assumptions are met, false otherwise.

Protected function Virtual

bool

 

CheckDefaultSubobjectsInternal()

Checks default sub-object assumptions.

true if the assumptions are met, false otherwise.

Public function Virtual

void

 

ClearAllCachedCookedPlatformData()

Clear all cached cooked platform data

Public function Virtual

void

 

ClearCachedCookedPlatformData

(
    const ITargetPlatform * TargetP...
)

Clears cached cooked platform data for specific platform

Public function

void

 

CollectDefaultSubobjects

(
    TArray < UObject * >& OutDefaul...,
    bool bIncludeNestedSubobjects
)

Uses the TArchiveObjectReferenceCollector to build a list of all components referenced by this object which have this object as the outer

Public function

bool

 

ConditionalBeginDestroy()

Called before destroying the object.

Public function

bool

 

ConditionalFinishDestroy()

Public function

void

 

ConditionalPostLoad()

PostLoad if needed.

Public function

void

 

ConditionalPostLoadSubobjects

(
    FObjectInstancingGraph * OuterI...
)

Instances subobjects and components for objects being loaded from disk, if necessary.

Public function Virtual

void

 

CookAdditionalFiles

(
    const TCHAR * PackageFilename,
    const ITargetPlatform * TargetP...
)

Called during cook to allow objects to generate additional cooked files alongside their cooked package.

Public function

TReturnType ...

 

CreateAbstractDefaultSubobject

(
    FName SubobjectName,
    bool bTransient
)

Create optional component or subobject.

Public function

UObject *...

 

CreateDefaultSubobject

(
    FName SubobjectFName,
    UClass * ReturnType,
    UClass * ClassToCreateByDefault,
    bool bIsRequired,
    bool bAbstract,
    bool bIsTransient
)

Public function

TReturnType ...

 

CreateDefaultSubobject

(
    FName SubobjectName,
    bool bTransient
)

Create a component or subobject

Public function

TReturnType ...

 

CreateDefaultSubobject

(
    FName SubobjectName,
    bool bTransient
)

Create a component or subobject

Public function

TReturnType ...

 

CreateEditorOnlyDefaultSubobject

(
    FName SubobjectName,
    bool bTransient
)

Create a component or subobject only to be used with the editor.

Public function

TReturnType ...

 

CreateOptionalDefaultSubobject

(
    FName SubobjectName,
    bool bTransient
)

Create optional component or subobject.

Public function

void

 

DestroyNonNativeProperties()

Destroy properties that won't be destroyed by the native destructor

Public function

void

 

ExecuteUbergraph

(
    int32 EntryPoint
)

============================================================================= K2 support functions.

Public function

void

 

ExecuteUbergraph

(
    int32 EntryPoint
)

Public function Virtual

void

 

ExportCustomProperties

(
    FOutputDevice & Out,
    uint32 Indent
)

Exports the property values for the specified object as text to the output device.

Public function

UFunction &#...

 

FindFunction

(
    FName InName
)

Public function

UFunction &#...

 

FindFunctionChecked

(
    FName InName
)

Public function Virtual

void

 

FinishDestroy()

Called to finish destroying the object.

Public function

UObject *...

 

GetArchetype()

Return the template this object is based on.

the archetype for this object

Public function Static

UObject *...

 

GetArchetypeFromRequiredInfo

(
    UClass * Class,
    UObject * Outer,
    FName Name,
    EObjectFlags ObjectFlags
)

Return the template that an object with this class, outer and name would be

Public function

void

 

GetArchetypeInstances

(
    TArray < UObject * >& Instances
)

Builds a list of objects which have this object in their archetype chain.

Public function Virtual

void

 

GetAssetRegistryTagMetadata

(
    TMap < FName , FAssetRegistryTagMetad ...
)

Gathers a collection of asset registry tag metadata

Public function Virtual

void

 

GetAssetRegistryTags

(
    TArray < FAssetRegistryTag >& OutTa...
)

Public function Virtual

const TCHAR ...

 

GetConfigOverridePlatform()

Returns the override config hierarchy platform (if NDAd platforms need defaults to not be in Base*.ini but still want editor to load them)

Public function

FString

 

GetDefaultConfigFilename()

Get the default config filename for the specified UObject

Public function

UObject *...

 

GetDefaultSubobjectByName

(
    FName ToFind
)

Finds a subobject associated with this object instance by its name

Public function

void

 

GetDefaultSubobjects

(
    TArray < UObject * >& OutDefaul...
)

Gets all default subobjects associated with this object instance.

Public function Virtual

FString

 

GetDesc()

A one line description of an object for viewing in the thumbnail view of the generic browser

Public function

FString

 

GetDetailedInfo()

This will return detail info about this specific object.

Protected function Virtual

FString

 

GetDetailedInfoInternal()

========================================== UObject interface.

Public function Virtual

FName

 

GetExporterName()

Returns the name of the exporter factory used to export this object Used when multiple factories have the same extension

Public function Virtual

int32

 

GetFunctionCallspace

(
    UFunction * Function,
    void* Parameters,
    FFrame * Stack
)

Return the space this function should be called.

Public function

FString

 

GetGlobalUserConfigFilename()

Get the global user override config filename for the specified UObject

Public function Virtual

void

 

GetLifetimeReplicatedProps

(
    TArray < class FLifetimeProperty >&...
)

Returns properties that are replicated for the lifetime of the actor channel

Public function Virtual

bool

 

GetNativePropertyValues

(
    TMap < FString , FString >& out_Prop...,
    uint32 ExportFlags
)

Callback for retrieving a textual representation of natively serialized properties.

Public function Virtual

void

 

GetPreloadDependencies

(
    TArray < UObject * >& OutDeps
)

Called during cooking.

Public function Virtual

FPrimaryAsse ...

 

GetPrimaryAssetId()

Returns an Type:Name pair representing the PrimaryAssetId for this object.

Public function Virtual

SIZE_T

 

GetResourceSize

(
    EResourceSizeMode::Type Mode
)

Returns the size of the object/ resource for display to artists/ LDs in the Editor.

Public function

SIZE_T

 

GetResourceSizeBytes

(
    EResourceSizeMode::Type Mode
)

Get the size of the object/resource for display to artists/LDs in the Editor.

Public function Virtual

void

 

GetResourceSizeEx

(
    FResourceSizeEx & CumulativeResourc...
)

Get the size of the object/resource for display to artists/LDs in the Editor.

Public function Virtual

FRestoreForU ...

 

GetRestoreForUObjectOverwrite()

Save information for StaticAllocateObject in the case of overwriting an existing object.

Public function Virtual

void

 

GetSubobjectsWithStableNamesForNetworking

(
    TArray < UObject * >& ObjList
)

Returns a list of sub-objects that have stable names for networking

Public function Virtual

TSharedPtr < ...

 

GetTransactionAnnotation()

Gathers external data required for applying an undo transaction

Public function

bool

 

Implements()

UObject.h.

Public function Virtual

void

 

ImportCustomProperties

(
    const TCHAR * SourceText,
    FFeedbackContext * Warn
)

Exports the property values for the specified object as text to the output device.

Public function

void

 

InstanceSubobjectTemplates

(
    FObjectInstancingGraph * Instan...
)

Wrapper for calling UClass::InstanceSubobjectTemplates() for this object.

Public function Virtual

bool

 

IsAsset()

Returns true if this object is considered an asset.

Public function

bool

 

IsBasedOnArchetype

(
    const UObject *const SomeObject
)

Determine if this object has SomeObject in its archetype chain.

Public function Virtual

bool

 

IsCachedCookedPlatformDataLoaded

(
    const ITargetPlatform * TargetP...
)

Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData

Public function Virtual

bool

 

IsEditorOnly()

Called during saving to determine if the object is forced to be editor only or not

Public function Virtual

bool

 

IsFullNameStableForNetworking()

IsFullNameStableForNetworking means an object can be referred to its full path name over the network

Public function

bool

 

IsInBlueprint()

Returns whether this object is contained in or part of a blueprint object

Public function Virtual

bool

 

IsLocalizedResource()

Returns true if this object is considered a localized resource.

Public function Virtual

bool

 

IsNameStableForNetworking()

IsNameStableForNetworking means an object can be referred to its path name (relative to outer) over the network

Public function Virtual

bool

 

IsPostLoadThreadSafe()

Called during async load to determine if PostLoad can be called on the loading thread.

Public function Virtual

bool

 

IsReadyForFinishDestroy()

Called to check if the object is ready for FinishDestroy.

Public function Virtual

bool

 

IsSafeForRootSet()

Returns true if this object is safe to add to the root set.

Public function

bool

 

IsSelected()

Non virtual functions, not intended to be overridden Test the selection state of a UObject

Public function Virtual

bool

 

IsSupportedForNetworking()

IsSupportedForNetworking means an object can be referenced over the network

Public function

void

 

LoadConfig

(
    UClass * ConfigClass,
    const TCHAR * Filename,
    uint32 PropagationFlags,
    UProperty * PropertyToLoad
)

Imports property values from an .ini file.

Public function Virtual

void

 

LoadedFromAnotherClass

(
    const FName & OldClassName
)

Called when the object was loaded from another class via active class redirects.

Public function Virtual

void

 

MarkAsEditorOnlySubobject()

Public function Virtual

bool

 

Modify

(
    bool bAlwaysMarkDirty
)

Note that the object will be modified.

Public function Virtual

bool

 

NeedsLoadForClient()

Called during saving to determine the load flags to save with the object.

Public function Virtual

bool

 

NeedsLoadForEditorGame()

Called during saving to determine the load flags to save with the object.

Public function Virtual

bool

 

NeedsLoadForServer()

Called during saving to determine the load flags to save with the object.

Public function

void

 

OutputReferencers

(
    FOutputDevice & Ar,
    FReferencerInformationList * Re...
)

Outputs a string to an arbitrary output device, describing the list of objects which are holding references to this one.

Public function

void

 

ParseParms

(
    const TCHAR * Parms
)

Import an object from a file.

Public function Virtual

void

 

PostCDOContruct()

Called after the C++ constructor has run on the CDO for a class.

Public function Virtual

void

 

PostDuplicate

(
    EDuplicateMode::Type DuplicateMode
)

Public function Virtual

void

 

PostDuplicate

(
    bool bDuplicateForPIE
)

Called after duplication & serialization and before PostLoad.

Public function

void

 

PostEditChange()

Intentionally non-virtual as it calls the FPropertyChangedEvent version

Public function Virtual

void

 

PostEditChangeChainProperty

(
    FPropertyChangedChainEvent & Proper...
)

This alternate version of PostEditChange is called when properties inside structs are modified.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent & PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostEditImport()

Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization

Public function Virtual

void

 

PostEditUndo()

Called after applying a transaction to the object.

Public function Virtual

void

 

PostEditUndo

Called after applying a transaction to the object in cases where transaction annotation was provided.

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostInterpChange

(
    UProperty * PropertyThatChanged
)

This is called when property is modified by InterpPropertyTracks

Public function Virtual

void

 

PostLinkerChange()

Called in response to the linker changing, this can only happen in the editor

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object, and immediately after any undo/redo.

Public function Virtual

void

 

PostLoadSubobjects

(
    FObjectInstancingGraph * OuterI...
)

Instances components for objects being loaded from disk, if necessary.

Public function Virtual

void

 

PostNetReceive()

Called right after receiving a bunch

Public function Virtual

void

 

PostReloadConfig

(
    UProperty * PropertyThatWasLoad...
)

Called from ReloadConfig after the object has reloaded its configuration data.

Public function Virtual

void

 

PostRename

(
    UObject * OldOuter,
    const FName OldName
)

WITH_EDITOR.

Public function Virtual

void

 

PostRepNotifies()

Called right after calling all OnRep notifies (called even when there are no notifies)

Public function Virtual

void

 

PostSaveRoot

(
    bool bCleanupIsRequired
)

Called from within SavePackage on the passed in base/ root.

Public function Virtual

void

 

PreDestroyFromReplication()

Called right before being marked for destruction due to network replication

Public function Virtual

void

 

PreEditChange

(
    UProperty * PropertyAboutToChan...
)

This is called when property is about to be modified by InterpPropertyTracks

Public function Virtual

void

 

PreEditChange

(
    FEditPropertyChain & PropertyAboutT...
)

This alternate version of PreEditChange is called when properties inside structs are modified.

Public function Virtual

void

 

PreEditUndo()

Called before applying a transaction to the object.

Public function Virtual

void

 

PreNetReceive()

Called right before receiving a bunch

Public function Virtual

void

 

PreSave

(
    const ITargetPlatform * TargetP...
)

Presave function.

Public function Virtual

bool

 

PreSaveRoot

(
    const TCHAR * Filename,
    TArray < FString >& AdditionalPacka...
)

Called from within SavePackage on the passed in base/ root.

Public function Virtual

bool

 

ProcessConsoleExec

(
    const TCHAR * Cmd,
    FOutputDevice & Ar,
    UObject * Executor
)

This function handles a console exec sent to the object; it is virtual so 'nexus' objects like a player controller can reroute the command to several different objects.

Public function Virtual

void

 

ProcessEvent

(
    UFunction * Function,
    void* Parms
)

========================================== Kismet Virtual Machine

Script processing functions.

Public function

void

 

ProcessInternal

(
    FFrame & Stack,
    void*const Z_Param__Result
)

Internal function call processing.

Public function

void

 

PropagatePostEditChange

(
    TArray < UObject * >& AffectedO...,
    FPropertyChangedChainEvent & Proper...
)

De-serializes all objects which have this object as their archetype from the GMemoryArchive, then recursively calls this function on each of those objects until the full list has been processed.

Public function

void

 

PropagatePreEditChange

(
    TArray < UObject * >& AffectedO...,
    FEditPropertyChain & PropertyAboutT...
)

Serializes all objects which have this object as their archetype into GMemoryArchive, then recursively calls this function on each of those objects until the full list has been processed.

Public function Virtual

UClass *

 

RegenerateClass

(
    UClass * ClassToRegenerate,
    UObject * PreviousCDO,
    TArray < UObject * >& ObjLoaded
)

Called on the target when a class is loaded with ClassGeneratedBy is loaded.

Public function

void

 

ReinitializeProperties

(
    UObject * SourceObject,
    FObjectInstancingGraph * Instan...
)

Wrapper function for InitProperties() which handles safely tearing down this object before re-initializing it from the specified source object.

Public function

void

 

ReloadConfig

(
    UClass * ConfigClass,
    const TCHAR * Filename,
    uint32 PropagationFlags,
    UProperty * PropertyToLoad
)

Wrapper method for LoadConfig that is used when reloading the config data for objects at runtime which have already loaded their config data at least once.

Public function Virtual

bool

 

Rename

(
    const TCHAR * NewName,
    UObject * NewOuter,
    ERenameFlags Flags
)

Rename this object to a unique name.

Public function

void

 

RetrieveReferencers

(
    TArray < FReferencerInformation >&#...,
    TArray < FReferencerInformation >&#...
)

Public function

void

 

SaveConfig

(
    uint64 Flags,
    const TCHAR * Filename,
    FConfigCacheIni * Config
)

Save configuration.

Public function Virtual

void

 

Serialize

(
    FArchive & Ar
)

UObject serializer.

Public function

void

 

SerializeScriptProperties

(
    FArchive & Ar
)

WITH_EDITOR.

Public function

void

 

SetLinker

(
    FLinkerLoad * LinkerLoad,
    int32 LinkerIndex,
    bool bShouldDetachExisting
)

Changes the linker and linker index to the passed in one.

Public function Virtual

void

 

ShutdownAfterError()

Public function

void

 

SkipFunction

(
    FFrame & Stack,
    void*const Z_Param__Result,
    UFunction * Function
)

Advances Stack's code past the parameters to the given Function and if the function has a return value, copies the zero value for that property to the memory for the return value

Public function Static

const FName ...

 

SourceFileTagName()

Get the common tag name used for all asset source file import paths

Public function Static

UClass *

 

StaticClass()

Returns a UClass object representing this class at runtime

Public function Static

EClassCastFl ...

 

StaticClassCastFlags()

Returns the StaticClassFlags for this class

Public function Static

const TCHAR ...

 

StaticConfigName()

Public function Static

const TCHAR ...

 

StaticPackage()

Returns the package this class belongs in

Public function Static

void

 

StaticRegisterNativesUObject()

Public function Virtual

void

 

TagSubobjects

(
    EObjectFlags NewFlags
)

Tags objects that are part of the same asset with the specified object flag, used for GC checking

Public function Static

void

 

UpdateClassesExcludedFromDedicatedClient

(
    const TArray < FString >& InClassNa...,
    const TArray < FString >& InModules...
)

Update the list of classes that we should exclude from dedicated client builds

Public function Static

void

 

UpdateClassesExcludedFromDedicatedServer

(
    const TArray < FString >& InClassNa...,
    const TArray < FString >& InModules...
)

Update the list of classes that we should exclude from dedicated server builds

Public function

void

 

UpdateDefaultConfigFile

(
    const FString & SpecificFileLocatio...
)

Saves just the section(s) for this class into the default ini file for the class (with just the changes from base)

Public function

void

 

UpdateGlobalUserConfigFile()

Saves just the section(s) for this class into the global user ini file for the class (with just the changes from base)

Public function

void

 

UpdateSinglePropertyInConfigFile

(
    const UProperty * InProperty,
    const FString & InConfigIniName
)

Saves just the property into the global user ini file for the class (with just the changes from base)

Public function Virtual

void

 

WillNeverCacheCookedPlatformDataAgain()

All caching has finished for this object (all IsCachedCookedPlatformDataLoaded functions have finished for all platforms)

Operators

Name Description

Public function

void *

 

operator new

(
    const size_t InSize,
    UObject * InOuter,
    FName InName,
    EObjectFlags InSetFlags
)

Public function

void *

 

operator new

(
    const size_t InSize,
    EInternal * InMem
)

For internal use only; use StaticConstructObject() to create new objects.

Public function

void *

 

operator new

(
    const size_t InSize,
    EInternal InInternalOnly,
    UObject * InOuter,
    FName InName,
    EObjectFlags InSetFlags
)

For internal use only; use StaticConstructObject() to create new objects.

Classes

Name

Description

Public struct

FAssetRegistryTag

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Public struct

FAssetRegistryTagMetadata

Additional data pertaining to asset registry tags used by the editor

Public struct

Object_eventExecuteUbergraph_Parms

K2 support functions

Typedefs

Name

Description

Super

Typedef for the base class (UObject )

ThisClass

Typedef for UObject .

WithinClass

Constants

Name

Description

StaticClassFlags

Bitwise union of EClassFlags pertaining to this class.

References

Module

CoreUObject

Header

Runtime/CoreUObject/Public/UObject/NoExportTypes.h