Skip to content

Latest commit

 

History

History
109 lines (83 loc) · 13.8 KB

UCLASS.md

File metadata and controls

109 lines (83 loc) · 13.8 KB

UCLASS(specifier)

UHT

Name engine module function description frequency of use
NoExport UHT Specifies that UHT should not be used to automatically generate registration code, but should only perform lexical analysis to extract metadata. ☠️
Intrinsic UHT Indicates that UHT will not generate any code for this class at all, and it must be written manually. ☠️
Interface UHT Indicates that this class is an interface. ☠️
UCLASS() UHT The default behavior of leaving it blank is that it cannot be inherited in blueprints, variables cannot be defined in blueprints, but it retains reflection capabilities. ★★★★★
Without_UCLASS UHT Functions as an ordinary C++ object without reflection capabilities.
CustomThunkTemplates UHT Specifies the struct that contains the CustomThunk implementations ☠️
CustomConstructor UHT Prevents the automatic generation of constructor declarations. ☠️
CustomFieldNotify UHT Prevents UHT from generating code related to FieldNotify for this class. ☠️

Blueprint

Name engine module function description frequency of use
Blueprintable Blueprint Can be inherited in blueprints and can also be used as a variable type implicitly ★★★★★
NotBlueprintable Blueprint Cannot be inherited in blueprints and its implicit use cannot be as a variable ★★★★
BlueprintType Blueprint Can be used as a variable type ★★★★★
NotBlueprintType Blueprint Cannot be used as a variable type ★★★★
Abstract Blueprint Designates this class as an abstract base class, which can be inherited but objects cannot be instantiated from it. ★★★★★
Const Blueprint Indicates that the internal properties of this class are not modifiable in blueprints; they are read-only and not writable. ★★★
ShowFunctions Blueprint Re-enables certain functions in the subclass's function override list. ★★
HideFunctions Blueprint Hides certain functions in the subclass's function override list. ★★
SparseClassDataType Blueprint Allows some repetitive and unchanging data of Actors to be stored in a common structure to reduce content usage ★★★
NeedsDeferredDependencyLoading Blueprint ☠️

DllExport

Name engine module function description frequency of use
MinimalAPI DllExport Does not export the class's functions to the DLL, only exports type information as variables. ★★★

Category

Name engine module function description frequency of use
ClassGroup Category Specifies the grouping for components in the Actor's AddComponent panel and in the blueprint's right-click menu. ★★★
ShowCategories Category Displays certain Category properties in the class's ClassDefaults property panel. ★★★
HideCategories Category Hides certain Category properties in the class's ClassDefaults property panel. ★★★★
CollapseCategories Category Hides all properties with Category in the class's property panel, but only for properties with multiple nested Categories. ★★
DontCollapseCategories Category Invalidates the CollapseCategories specifier inherited from the base class. ★★
AutoExpandCategories Category Specifies the Category that should be automatically expanded for this class's objects in the details panel.
AutoCollapseCategories Category The AutoCollapseCategories specifier invalidates the effect of the AutoExpandCategories specifier for categories listed on the parent class.
DontAutoCollapseCategories Category Invalidates the AutoCollapseCategories specifier for the listed categories inherited from the parent class.
PrioritizeCategories Category Prioritizes the display of the specified attribute directory at the front of the details panel. ★★★
ComponentWrapperClass Category Designates this class as a simple encapsulation class, ignoring the Category-related settings of the subclass. ★★
AdvancedClassDisplay Category Displays all properties under this class in the advanced directory by default ★★★★

TypePicker

Name engine module function description frequency of use
HideDropDown TypePicker Hides this class in the class selector ★★

Development

Name engine module function description frequency of use
Deprecated Development Indicates that this class is deprecated. ★★★
Experimental Development Indicates that this class is an experimental version, currently without documentation, and may be deprecated in the future. ★★★
EarlyAccessPreview Development Indicates that this class is a preliminary preview version, more complete than the experimental version, but not yet at the product level. ★★★

Instance

Name engine module function description frequency of use
Within Instance Specifies that when an object is created, it must depend on an object with the OuterClassName as its Outer. ★★★
DefaultToInstanced Instance Specifies that all instance properties of this class are set to UPROPERTY(instanced) by default, meaning they create new instances rather than references to objects. ★★★★
EditInlineNew Instance Allows objects of this class to be created inline directly in the property details panel, coordinating with the attribute's Instanced setting. ★★★★★
NotEditInlineNew Instance Cannot be created using the EditInline button

Scene

Name engine module function description frequency of use
NotPlaceable Scene Indicates that this Actor cannot be placed in a level ★★★
Placeable Scene Indicates that this Actor can be placed in a level. ★★★
ConversionRoot Scene Allows the Actor to be converted between itself and its subclasses in the scene editor

Config

Name engine module function description frequency of use
Config Config Specifies the name of the configuration file to which the object's values are saved in the ini configuration file. ★★★★★
PerObjectConfig Config In cases where there is already a config file name, specifies that values should be stored per object instance rather than per class. ★★★★★
ConfigDoNotCheckDefaults Config Specifies that the consistency check of the previous level's configuration values is ignored when saving configuration values.
DefaultConfig Config Specifies that the configuration file level to save to is Project/Config/DefaultXXX.ini. ★★★
GlobalUserConfig Config Specifies that the configuration file level to save to is Engine/Config/UserXXX.ini for global user settings. ★★★
ProjectUserConfig Config Specifies that the configuration file level to save to is Project/Config/UserXXX.ini for project user settings. ★★★
EditorConfig Config Used to save information in the editor state.

Serialization

Name engine module function description frequency of use
Transient Serialization Specifies that all objects of this class are skipped during serialization. ★★★
NonTransient Serialization Invalidates the Transient specifier inherited from the base class. ★★★
Optional Serialization Mark this class's objects as optional, allowing them to be ignored during Cooking.
MatchedSerializers Serialization Specifies that the class supports text structure serialization ☠️