Choose your operating system:
Windows
macOS
Linux
When declaring classes, Class Specifiers can be added to the declaration to control how the class behaves with various aspects of the Engine and Editor.
Class Specifier |
Effect |
---|---|
|
The Abstract Specifier declares the class as an "abstract base class", preventing the user from adding Actors of this class to Levels. This is useful for classes which are not meaningful on their own. For example, the |
|
The AdvancedClassDisplay Specifier forces all properties of the class to show only in the advanced sections of any details panel where they appear. To override this on an individual property, use the |
|
The |
|
Specifies one or more categories that should be automatically expanded in the Unreal Editor Property window for Objects of this class. To auto-expand variables declared with no category, use the name of the class which declares the variable. |
|
Exposes this class as an acceptable base class for creating Blueprints. The default is |
|
Exposes this class as a type that can be used for variables in Blueprints. |
|
Indicates that Unreal Editor's Actor Browser should include this class and any subclass of this class within the specified |
|
Indicates that properties of this class should not be grouped in categories in Unreal Editor Property windows. This Specifier is propagated to child classes, and can be overridden by the |
|
Indicates that this class is allowed to store data in a configuration file ( |
|
All properties and functions in this class are |
|
A root convert limits a subclass to only be able to convert to child classes of the first root class going up the hierarchy. |
|
Prevents automatic generation of the constructor declaration. |
|
All instances of this class are considered "instanced". Instanced classes (components) are duplicated upon construction. This Specifier is inherited by subclasses. |
|
All classes listed will be compiled before this class. The class names provided must indicate classes in the same (or a previous) package. Multiple dependency classes can be identified using a single |
|
This class is deprecated and Objects of this class will not be saved when serializing. This Specifier is inherited by subclasses. |
|
Negates the |
|
Negates a |
|
Indicates that Objects of this class can be created from the Unreal Editor Property window, as opposed to being referenced from an existing Asset. The default behavior is that only references to existing Objects may be assigned through the Property window). This Specifier is propagated to all child classes; child classes can override this with the |
|
Lists one or more categories that should be hidden from the user entirely. To hide properties declared with no category, use the name of the class which declares the variable. This Specifier is propagated to child classes. |
|
Prevents this class from showing up in property window combo boxes. |
|
Hides all functions in the specified category from the user entirely. |
|
Hides the named functions from the user entirely. |
|
This indicates that the class was declared directly in C++, and has no boilerplate generated by Unreal Header Tool. Do not use this Specifier on new classes. |
|
Causes only the class's type information to be exported for use by other modules. The class can be cast to, but the functions of the class cannot be called (with the exception of inline methods). This improves compile times by not exporting everything for classes that do not need all of their functions accessible in other modules. |
|
Indicates that this class's declaration should not be included in the automatically-generated C++ header file by the header generator. The C++ class declaration must be defined manually in a separate header file. Only valid for native classes. Do not use this for new classes. |
|
Negates a |
|
Specifies that this class is not an acceptable base class for creating Blueprints. This is the default and is inherited by subclasses. |
|
Negates a |
|
Configuration information for this class will be stored per Object, where each object has a section in the |
|
|
|
Negates a |
|
Shows all functions within the listed categories in a property viewer. |
|
Shows the named function in a property viewer. |
|
Objects belonging to this class will never be saved to disk. This is useful in conjunction with certain kinds of native classes which are non-persistent by nature, such as players or windows. This Specifier is propagated to child classes, but can be overridden by the |
|
Objects of this class cannot exist outside of an instance of an |
Metadata Specifiers
When declaring classes, interfaces, structs, enums, enum values, functions, or properties, you can add Metadata Specifiers to control how they interact with various aspects of the engine and editor. Each type of data structure or member has its own list of Metadata Specifiers.
Metadata only exists in the editor; do not write game logic that accesses metadata.
Classes can use the following Metatag Specifiers:
Class Meta Tag |
Effect |
---|---|
|
If present, the component Class can be spawned by a Blueprint. |
|
Only valid on Blueprint function libraries. This specifier marks the functions in this class as callable on non-game threads in animation Blueprints. |
|
Used for Actor and Component classes. If the native class cannot tick, Blueprint-generated classes based this Actor or Component can never tick, even if |
|
Used for Actor and Component classes. If the native class cannot tick, Blueprint-generated classes based this Actor or Component can have the |
|
For behavior tree nodes, indicates that the class is deprecated and will display a warning when compiled. |
|
Deprecated classes with this metadata will include this text with the standard deprecation warning that Blueprint Scripts generate during compilation. |
|
The name of this node in a Blueprint Script will be replaced with the value provided here, instead of the code-generated name. |
|
Do not spawn an Object of the class using Generic Create Object node in Blueprint Scripts; this specifier applies only to Blueprint-type classes that are neither Actors nor Actor Components. |
|
Expose a proxy Object of this class in Async Task nodes. |
|
Used to make the first subclass of a class ignore all inherited |
|
States that this class is (or is not) an acceptable base class for creating Blueprints, similar to the |
|
List of Blueprint events that are not allowed to be overridden. |
|
Lists Interfaces that are not compatible with the class. |
|
Blueprint function library classes can use this to restrict usage to the classes named in the list. |
|
A short tooltip that is used in some contexts where the full tooltip might be overwhelming, such as the Parent Class Picker dialog. |
|
Indicates that Blueprint nodes placed in graphs owned by this class must show their World context pins, even if they are normally hidden, because Objects of this class cannot be used as World context. |
|
Indicates the class uses hierarchical data. Used to instantiate hierarchical editing features in Details panels. |
|
Overrides the automatically generated tooltip from code comments. |