![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "Concepts/GetTypeHashable.h"#include "Concepts/StaticClassProvider.h"#include "Concepts/StaticStructProvider.h"#include "Concepts/StructSerializableWithDefaults.h"#include "Containers/Array.h"#include "Containers/ContainersFwd.h"#include "Containers/EnumAsByte.h"#include "Containers/Map.h"#include "Containers/Set.h"#include "Containers/StringFwd.h"#include "Containers/UnrealString.h"#include "CoreTypes.h"#include "Algo/MaxElement.h"#include "Async/Mutex.h"#include "Async/SharedLock.h"#include "Async/SharedMutex.h"#include "Async/UniqueLock.h"#include "HAL/CriticalSection.h"#include "HAL/PlatformCrt.h"#include "HAL/UnrealMemory.h"#include "Internationalization/Text.h"#include "Logging/LogCategory.h"#include "Logging/LogMacros.h"#include "Logging/LogVerbosity.h"#include "Math/Box2D.h"#include "Math/InterpCurvePoint.h"#include "Math/MathFwd.h"#include "Math/Matrix.h"#include "Math/Plane.h"#include "Math/Quat.h"#include "Math/RandomStream.h"#include "Math/Rotator.h"#include "Math/Transform.h"#include "Math/Vector2D.h"#include "Math/Vector4.h"#include "Misc/AssertionMacros.h"#include "Misc/CString.h"#include "Misc/EnumClassFlags.h"#include "Misc/FallbackStruct.h"#include "Misc/Guid.h"#include "Misc/NotNull.h"#include "Misc/Optional.h"#include "Misc/ScopeRWLock.h"#include "Serialization/StructuredArchive.h"#include "Serialization/StructuredArchiveAdapters.h"#include "Templates/AlignmentTemplates.h"#include "Templates/EnableIf.h"#include "Templates/Identity.h"#include "Templates/IsAbstract.h"#include "Templates/IsEnum.h"#include "Templates/IsPODType.h"#include "Templates/IsUECoreType.h"#include "Templates/Models.h"#include "Templates/NoDestroy.h"#include "Templates/Tuple.h"#include "Templates/TypeCompatibleBytes.h"#include "Templates/UnrealTemplate.h"#include "Templates/UnrealTypeTraits.h"#include "Trace/Detail/Channel.h"#include "UObject/CoreNative.h"#include "UObject/Field.h"#include "UObject/FieldPath.h"#include "UObject/GarbageCollection.h"#include "UObject/NameTypes.h"#include "UObject/Object.h"#include "UObject/ObjectMacros.h"#include "UObject/PropertyTag.h"#include "UObject/PropertyVisitor.h"#include "UObject/ReflectedTypeAccessors.h"#include "UObject/Script.h"#include "UObject/StructOpsTypeTraits.h"#include "UObject/TopLevelAssetPath.h"#include "UObject/UObjectGlobals.h"#include "UObject/UnrealNames.h"#include "UObject/ObjectPtr.h"#include "UObject/ObjectPtrLinkedListBuilder.h"#include "UObject/ObjectPtrLinkedListIterator.h"#include <type_traits>#include <atomic>#include "Class.generated.h"Go to the source code of this file.
Namespaces | |
| namespace | UE |
| namespace | UE::Private |
| namespace | UE::CodeGen |
| namespace | UE::CodeGen::ConstInit |
| namespace | UE::CoreUObject |
| namespace | UE::CoreUObject::Private |
| namespace | EIncludeSuperFlag |
Macros | |
| #define | DISABLE_ABSTRACT_CONSTRUCT (false && TStructOpsTypeTraits<CPPSTRUCT>::WithPureVirtual) |
| #define | UE_FOREACH_FAKE_VTABLE_FUNC_EDITOR_ONLY(...) |
| #define | UE_FOREACH_FAKE_VTABLE_FUNC_WITH_TESTS_ONLY(...) __VA_ARGS__ |
| #define | UE_FOREACH_FAKE_VTABLE_FUNC(IndexNameFunctype) |
| #define | UE_VTABLE_ENUM(Index, Name, Functype) Name = 1u << Index, |
| #define | UE_VTABLE_FUNC(Index, Name, Functype) |
| #define | UE_VTABLE_SETFLAG(Index, Name, Functype) |
| #define | IMPLEMENT_STRUCT(BaseName) UE_DEPRECATED_MACRO(5.1, "IMPLEMENT_STRUCT has been deprecated. Use UE_IMPLEMENT_STRUCT and provide struct package name as well as struct name") static UScriptStruct::TAutoCppStructOps<F##BaseName> BaseName##_Ops(FTopLevelAssetPath(TEXT("/Script/CoreUObject"), TEXT(#BaseName))); |
| #define | UE_IMPLEMENT_STRUCT(PackageNameText, BaseName) static UScriptStruct::TAutoCppStructOps<F##BaseName> BaseName##_Ops(FTopLevelAssetPath(TEXT(PackageNameText), TEXT(#BaseName))); |
| #define | UE_DECLARE_CORE_VARIANT_TYPE(VARIANT, CORE) |
Enumerations | |
| enum class | EStructPropertyLinkFlags : uint8 { None = 0 , LinkPostConstruct = 1 << 0 , LinkDestructor = 1 << 1 } |
| enum | EStructFlags { STRUCT_NoFlags = 0x00000000 , STRUCT_Native = 0x00000001 , STRUCT_IdenticalNative = 0x00000002 , STRUCT_HasInstancedReference = 0x00000004 , STRUCT_NoExport = 0x00000008 , STRUCT_Atomic = 0x00000010 , STRUCT_Immutable = 0x00000020 , STRUCT_AddStructReferencedObjects = 0x00000040 , STRUCT_RequiredAPI = 0x00000200 , STRUCT_NetSerializeNative = 0x00000400 , STRUCT_SerializeNative = 0x00000800 , STRUCT_CopyNative = 0x00001000 , STRUCT_IsPlainOldData = 0x00002000 , STRUCT_NoDestructor = 0x00004000 , STRUCT_ZeroConstructor = 0x00008000 , STRUCT_ExportTextItemNative = 0x00010000 , STRUCT_ImportTextItemNative = 0x00020000 , STRUCT_PostSerializeNative = 0x00040000 , STRUCT_SerializeFromMismatchedTag = 0x00080000 , STRUCT_NetDeltaSerializeNative = 0x00100000 , STRUCT_PostScriptConstruct = 0x00200000 , STRUCT_NetSharedSerialization = 0x00400000 , STRUCT_Trashed = 0x00800000 , STRUCT_NewerVersionExists = 0x01000000 , STRUCT_CanEditChange = 0x02000000 , STRUCT_Visitor = 0x04000000 , STRUCT_Inherit = STRUCT_HasInstancedReference|STRUCT_Atomic , STRUCT_ComputedFlags = STRUCT_NetDeltaSerializeNative | STRUCT_NetSerializeNative | STRUCT_SerializeNative | STRUCT_PostSerializeNative | STRUCT_CopyNative | STRUCT_IsPlainOldData | STRUCT_NoDestructor | STRUCT_ZeroConstructor | STRUCT_IdenticalNative | STRUCT_AddStructReferencedObjects | STRUCT_ExportTextItemNative | STRUCT_ImportTextItemNative | STRUCT_SerializeFromMismatchedTag | STRUCT_PostScriptConstruct | STRUCT_NetSharedSerialization } |
| enum class | UE::CoreUObject::Private::EStructOpsFakeVTableFlags : uint32 { UE::CoreUObject::Private::None = 0 , UE::CoreUObject::Private::UE_VTABLE_ENUM } |
| enum class | EGetByNameFlags { None = 0 , ErrorIfNotFound = 0x01 , CaseSensitive = 0x02 , CheckAuthoredName = 0x04 } |
| enum | EIncludeSuperFlag::Type { EIncludeSuperFlag::ExcludeSuper , EIncludeSuperFlag::IncludeSuper } |
| enum class | EGetSparseClassDataMethod : uint8 { CreateIfNull , ArchetypeIfNull , ReturnIfNull , DeferIfNull } |
| enum class | EInstancePropertyValueFlags { None = 0x00 , CausesInstancing = 0x01 , AllowSelfReference = 0x02 , DoNotCreateNewInstance = 0x04 } |
| enum class | EObjectInstancingGraphOptions { None = 0x00 , DisableInstancing = 0x01 , InstanceTemplatesOnly = 0x02 } |
Variables | |
| template<typename CppStruct > | |
| void(*)(void *A, FReferenceCollector &Collector) | UE::CoreUObject::Private::AddStructReferencedObjects () |
| template<typename CppStruct , auto... Funcs> | |
| constexpr const TStructOpsFakeVTable< Funcs... > | UE::CoreUObject::Private::TStructOpsFakeVTableInstance |
| template<typename CppStruct > | |
| constexpr const TStructOpsFakeVTable | UE::CoreUObject::Private::TStructOpsFakeVTableInstance< CppStruct > |
| #define DISABLE_ABSTRACT_CONSTRUCT (false && TStructOpsTypeTraits<CPPSTRUCT>::WithPureVirtual) |
| #define IMPLEMENT_STRUCT | ( | BaseName | ) | UE_DEPRECATED_MACRO(5.1, "IMPLEMENT_STRUCT has been deprecated. Use UE_IMPLEMENT_STRUCT and provide struct package name as well as struct name") static UScriptStruct::TAutoCppStructOps<F##BaseName> BaseName##_Ops(FTopLevelAssetPath(TEXT("/Script/CoreUObject"), TEXT(#BaseName))); |
| #define UE_FOREACH_FAKE_VTABLE_FUNC | ( | IndexNameFunctype | ) |
| #define UE_FOREACH_FAKE_VTABLE_FUNC_EDITOR_ONLY | ( | ... | ) |
| #define UE_FOREACH_FAKE_VTABLE_FUNC_WITH_TESTS_ONLY | ( | ... | ) | __VA_ARGS__ |
| #define UE_IMPLEMENT_STRUCT | ( | PackageNameText, | |
| BaseName | |||
| ) | static UScriptStruct::TAutoCppStructOps<F##BaseName> BaseName##_Ops(FTopLevelAssetPath(TEXT(PackageNameText), TEXT(#BaseName))); |
|
strong |
|
strong |
Flag describing desired behavior of GetSparseClassData in the case where the SparseClassData has not been created. The class's instance is guaranteed already created if the class has sparse data of its own, so the only differences in behavior are when the class does not have sparse data of its own.
|
strong |
|
strong |
Flags describing a struct
This MUST be kept in sync with EStructFlags defined in Engine\Source\Programs\Shared\EpicGames.Core\UnrealEngineTypes.cs
|
strong |
Provides more explicit control over if a property is added to PostConstruct & Destructor collections
|
inline |
Selection of AddStructReferencedObjects check.
| COREUOBJECT_API DECLARE_LOG_CATEGORY_EXTERN | ( | LogClass | , |
| Log | , | ||
| All | |||
| ) |
| COREUOBJECT_API DECLARE_LOG_CATEGORY_EXTERN | ( | LogScriptSerialization | , |
| Log | , | ||
| All | |||
| ) |
| Expose_TNameOf | ( | FObjectInstancingGraph * | ) |
| Expose_TNameOf | ( | FObjectInstancingGraph | ) |
|
inline |
Gets the default object of a class.
In most cases, class default objects should not be modified. This method therefore returns an immutable pointer. If you need to modify the default object, use GetMutableDefault instead.
| Class | - The class to get the CDO for. |
|
inline |
Gets the mutable default object of a class.
| Class | - The class to get the CDO for. |
| COREUOBJECT_API void GetPrivateStaticClassBody | ( | const TCHAR * | PackageName, |
| const TCHAR * | Name, | ||
| UClass *& | ReturnClass, | ||
| void(*)() | RegisterNativeFunc, | ||
| uint32 | InSize, | ||
| uint32 | InAlignment, | ||
| EClassFlags | InClassFlags, | ||
| EClassCastFlags | InClassCastFlags, | ||
| const TCHAR * | InConfigName, | ||
| UClass::ClassConstructorType | InClassConstructor, | ||
| UClass::ClassVTableHelperCtorCallerType | InClassVTableHelperCtorCaller, | ||
| FUObjectCppClassStaticFunctions && | InCppClassStaticFunctions, | ||
| UClass::StaticClassFunctionType | InSuperClassFn, | ||
| UClass::StaticClassFunctionType | InWithinClassFn | ||
| ) |
Helper template allocate and construct a UClass
| PackageName | name of the package this class will be inside |
| Name | of the class |
| ReturnClass | reference to pointer to result. This must be PrivateStaticClass. |
| RegisterNativeFunc | Native function registration function pointer. |
| InSize | Size of the class |
| InAlignment | Alignment of the class |
| InClassFlags | Class flags |
| InClassCastFlags | Class cast flags |
| InConfigName | Class config name |
| InClassConstructor | Class constructor function pointer |
| InClassVTableHelperCtorCaller | Class constructor function for vtable pointer |
| InCppClassStaticFunctions | Function pointers for the class's version of Unreal's reflected static functions |
| InSuperClassFn | Super class function pointer |
| InWithinClassFn | Within class function pointer |
| COREUOBJECT_API void InitializePrivateStaticClass | ( | class UClass *(*)() | TClass_StaticClassFn, |
| class UClass * | TClass_Super_StaticClass, | ||
| class UClass * | TClass_PrivateStaticClass, | ||
| class UClass * | TClass_WithinClass_StaticClass, | ||
| const TCHAR * | PackageName, | ||
| const TCHAR * | Name | ||
| ) |
Shared function called from the various InitializePrivateStaticClass functions generated my the IMPLEMENT_CLASS macro.
| COREUOBJECT_API void InitializePrivateStaticClass | ( | class UClass * | TClass_Super_StaticClass, |
| class UClass * | TClass_PrivateStaticClass, | ||
| class UClass * | TClass_WithinClass_StaticClass, | ||
| const TCHAR * | PackageName, | ||
| const TCHAR * | Name | ||
| ) |
| void InternalConstructor | ( | const FObjectInitializer & | X | ) |
Helper template to call the default constructor for a class
| UObject * InternalVTableHelperCtorCaller | ( | FVTableHelper & | Helper | ) |
Helper template to call the vtable ctor caller for a class
| UE_DECLARE_CORE_VARIANT_TYPE | ( | Box2 | , |
| Box2D | |||
| ) |
| UE_DECLARE_CORE_VARIANT_TYPE | ( | Ray3 | , |
| Ray | |||
| ) |
| UE_DECLARE_CORE_VARIANT_TYPE | ( | Transform3 | , |
| Transform | |||
| ) |