Navigation
Unreal Engine C++ API Reference > Runtime > CoreUObject > UObject
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UField
- UStruct
- UClass
- UBlueprintGeneratedClass
- UAnimBlueprintGeneratedClass
- UDisplayClusterBlueprintGeneratedClass
- URenderGridBlueprintGeneratedClass
- UOptimusValueContainerGeneratorClass
- UVerseClass
- UFunction
- UDelegateFunction
- USparseDelegateFunction
- UScriptStruct
- UAnimBlueprintGeneratedStruct
- UMovieSceneKeyStructType
- UPropertyBag
- UUserDefinedStruct
- UVerseStruct
References
Module | CoreUObject |
Header | /Engine/Source/Runtime/CoreUObject/Public/UObject/Class.h |
Include | #include "UObject/Class.h" |
Syntax
class UStruct :
public UField ,
private FStructBaseChain
Remarks
Base class for all UObject types that contain fields.
Variables
Type | Name | Description | |
---|---|---|---|
bool | bHasAssetRegistrySearchableProperties | True if this struct has Asset Registry searchable properties | |
FField * | ChildProperties | Pointer to start of linked list of child fields | |
TObjectPtr< UField > | Children | Pointer to start of linked list of child fields | |
FProperty * | DestructorLink | In memory only: Linked list of properties requiring destruction. | |
int32 | FieldPathSerialNumber | Unique id incremented each time this class properties get destroyed | |
int32 | MinAlignment | Alignment of structure in memory, structure will be at least this large | |
FProperty * | PostConstructLink | In memory only: Linked list of properties requiring post constructor initialization | |
int32 | PropertiesSize | Total size of all UProperties, the allocated structure may be larger due to alignment | |
FProperty * | PropertyLink | In memory only: Linked list of properties from most-derived to base | |
TArray< TObjectPtr< UPropertyWrapper > > | PropertyWrappers | List of wrapper UObjects for FProperties | |
FProperty * | RefLink | In memory only: Linked list of object reference properties from most-derived to base | |
TArray< uint8 > | Script | Script bytecode associated with this object | |
TArray< TObjectPtr< UObject > > | ScriptAndPropertyObjectReferences | Array of object references embedded in script code and referenced by FProperties. | |
UE_INTERNALint32 | TotalFieldCount | Number of fields, inclusive of base fields and fixed-size array elements. | |
FUnresolvedScriptPropertiesArray * | UnresolvedScriptProperties | Contains a list of script properties that couldn't be resolved at load time | |
const FUnversionedStructSchema * | UnversionedEditorSchema | Cached schema for optimized unversioned property serialization, with editor data, owned by this. | |
const FUnversionedStructSchema * | UnversionedGameSchema | Cached schema for optimized unversioned and filtereditoronly property serialization, owned by this. |
Constructors
Type | Name | Description | |
---|---|---|---|
UStruct
(
const FObjectInitializer& ObjectInitializer |
|||
UStruct
(
FVTableHelper& Helper |
DO NOT USE. This constructor is for internal usage only for hot-reload purposes. | ||
UStruct
(
EStaticConstructor, |
Constructors. | ||
UStruct
(
const FObjectInitializer& ObjectInitializer, |
Destructors
Type | Name | Description | |
---|---|---|---|
~UStruct () |
Functions
Type | Name | Description | |
---|---|---|---|
void | __DefaultConstructor
(
const FObjectInitializer& X |
||
UObject * | __VTableCtorCaller
(
FVTableHelper& Helper |
||
void | AddReferencedObjects
(
UObject* InThis, |
||
bool | Returns if we have access to property guids | ||
void | Collects UObjects referenced by bytecode and properties for faster GC access | ||
void | Collects UObjects referenced by bytecode and properties for this class and its child fields and their children... | ||
void | CollectBytecodeReferencedObjects
(
TArray< UObject* >& OutReferencedObjects |
Collects UObjects referenced by bytecode | |
void | CollectPropertyReferencedObjects
(
TArray< UObject* >& OutReferencedObjects |
Collects UObjects referenced by properties | |
void | |||
FProperty * | CustomFindProperty
(
const FName InName |
Look up a property by an alternate name if it was not found in the first search, this is overridden for user structs | |
void | Deletes the UnresolvedScriptProperties array | ||
void | Destroys all properties owned by this struct | ||
void | DestroyStruct
(
void* Dest, |
Destroy a struct in memory. | |
FProperty * | FindPropertyByName
(
FName InName |
Searches property link chain for a property with the specified name | |
FGuid | FindPropertyGuidFromName
(
const FName InName |
Find property guid | |
FName | FindPropertyNameFromGuid
(
const FGuid& PropertyGuid |
Returns the property name from the guid | |
FString | GetAuthoredNameForField
(
const UField* Field |
Returns a human readable string for a given field, overridden for user defined structs | |
FString | GetAuthoredNameForField
(
const FField* Field |
Returns a human readable string for a given field, overridden for user defined structs | |
UStruct * | Returns the structure used for inheritance, may be changed by child types | ||
int32 | Alignment of structure in memory, structure will be at least this large | ||
const TCHAR * | GetPrefixCPP () |
Returns the struct/ class prefix used for the C++ declaration of this struct/ class. | |
int32 | Total size of all UProperties, the allocated structure may be larger due to alignment | ||
const FBlake3Hash & | GetSchemaHash
(
bool bSkipEditorOnly |
Get the Schema Hash for this struct - the hash of its property names and types. | |
FTopLevelAssetPath | Returns struct path name as a package + struct FName pair | ||
int32 | Returns actual allocated size of structure in memory | ||
UStruct * | Struct this inherits from, may be null | ||
bool | Returns true if this struct has Asset Registry searchable properties | ||
void | InitializeStruct
(
void* Dest, |
Initialize a struct over uninitialized memory. | |
void | InstanceSubobjectTemplates
(
void* Data, |
Creates new copies of components | |
bool | Returns true if this struct either is SomeBase, or is a child of SomeBase. | ||
bool | IsChildOf () |
Returns true if this struct either is class T, or is a child of class T. | |
bool | If true, this class has been cleaned and sanitized (trashed) and should not be used | ||
void | Creates the field/property links and gets structure ready for use at runtime | ||
void | LoadTaggedPropertiesFromText
(
FStructuredArchive::FSlot Slot, |
Serializes list of properties to a te, using property tags to handle mismatches | |
void | PreloadChildren
(
FArchive& Ar |
Preloads all fields that belong to this struct | |
void * | ResolveVisitedPathInfo
(
void* Data, |
Attempt to resolve the given inner path info against this outer struct to get the inner property value. | |
void | SerializeBin
(
FStructuredArchive::FSlot Slot, |
Serializes struct properties, does not handle defaults. | |
void | SerializeBin
(
FArchive& Ar, |
Serializes struct properties, does not handle defaults. | |
void | SerializeBinEx
(
FStructuredArchive::FSlot Slot, |
Serializes the class properties that reside in Data if they differ from the corresponding values in DefaultData | |
EExprToken | SerializeExpr
(
int32& iCode, |
Serialize an expression to an archive. Returns expression token | |
void | SerializeProperties
(
FArchive& Ar |
Serializes properties of this struct | |
void | SerializeTaggedProperties
(
FStructuredArchive::FSlot Slot, |
Serializes list of properties, using property tags to handle mismatches | |
void | Serializes list of properties, using property tags to handle mismatches | ||
void | SetPropertiesSize
(
int32 NewSize |
Modifies the property size after it's been recomputed | |
void | SetSuperStruct
(
UStruct* NewSuperStruct |
Sets the super struct pointer and updates hash information as necessary. | |
void | SetUnresolvedScriptProperties
(
FUnresolvedScriptPropertiesArray& InUnresolvedProperties |
Sets the UnresolvedScriptProperties array | |
UClass * | StaticClass () |
Returns a UClass object representing this class at runtime | |
EClassCastFlags | Returns the static cast flags for this class | ||
void | StaticLink
(
bool bRelinkExistingProperties |
Static wrapper for Link, using a dummy archive | |
const TCHAR * | Returns the package this class belongs in | ||
void | |||
EPropertyVisitorControlFlow | Visit
(
void* Data, |
Visits this property and allows recursion into the inner properties This method allows callers to visit inner properties without knowing about its container type as opposed to TPropertyIterator. | |
EPropertyVisitorControlFlow | Visit
(
FPropertyVisitorPath& Path, |
Visits this property and allows recursion into the inner properties This method allows callers to visit inner properties without knowing about its container type as opposed to TPropertyIterator. |
Overridden from UField
Type | Name | Description | |
---|---|---|---|
void | AddCppProperty
(
FProperty* Property |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
void | Called to finish destroying the object. | ||
void | GetPreloadDependencies
(
TArray< UObject* >& OutDeps |
Called during cooking. | |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. | |
void | Serialize
(
FStructuredArchive::FRecord Record |
||
void | Handles reading, writing, and reference collecting using FArchive. | ||
void | TagSubobjects
(
EObjectFlags NewFlags |
Tags objects that are part of the same asset with the specified object flag, used for GC checking |
Overridden from UObjectBase
Type | Name | Description | |
---|---|---|---|
void | Force any base classes to be registered first, then call BaseRegister |
Operators
Type | Name | Description | |
---|---|---|---|
void | operator delete
(
void* InMem |
Eliminate V1062 warning from PVS-Studio while keeping MSVC and Clang happy. | |
void * | operator new
(
const size_t InSize, |
For internal use only; use StaticConstructObject() to create new objects. | |
void * | operator new
(
const size_t InSize, |
For internal use only; use StaticConstructObject() to create new objects. |
Typedefs
Name | Description |
---|---|
FUnresolvedScriptPropertiesArray | |
Super | Typedef for the base class (UField) |
ThisClass | Typedef for UStruct. |
Constants
Name | Description |
---|---|
StaticClassFlags | Bitwise union of EClassFlags pertaining to this class. |