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
ATriggerBase base class is abstract, while the
ATriggerBox subclass is not abstract and can be placed in a Level.
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
SimpleDisplay specifier on that property.
AutoCollapseCategories=(Category1, Category2, ...)
AutoCollapseCategories Specifier negates the effects, for the listed categories, of the AutoExpandCategories Specifier on a parent class.
AutoExpandCategories=(Category1, Category2, ...)
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
NotBlueprintable, unless inherited otherwise. This Specifier is inherited by subclasses.
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
GroupName when Group View is enabled in the Actor Browser.
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 (
.ini). If there are any class properties declared with the
globalconfig Specifiers, this Specifier causes those properties to be stored in the named configuration file. This Specifier is propagated to all child classes and cannot be negated, but child classes can change the config file by re-declaring the
config Specifier and providing a different
ConfigName values are "Engine", "Editor", "Input", and "Game".
All properties and functions in this class are
const and are exported as
const. This Specifier is inherited by subclasses.
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.
DependsOn=(ClassName1, ClassName2, ...)
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
DependsOn line delimited by commas, or can be specified using a separate
DependsOn line for each class. This is important when a class uses a struct or enum declared in another class, as the compiler only knows what is in the classes it has already compiled.
This class is deprecated and Objects of this class will not be saved when serializing. This Specifier is inherited by subclasses.
DontAutoCollapseCategories=(Category, Category, ...)
AutoCollapseCategories Specifier for the listed categories inherited from a parent class.
CollapseCatogories Specifier inherited from a base class.
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
HideCategories=(Category1, Category2, ...)
Lists one or more categories that should be hidden in the Unreal Editor Property window for Objects of this class. 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.
HideFunctions=(Category1, Category2, ...)
Hides all functions in the the specified category from the property viewer.
Hides the named functions from the property viewer.
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.
Transient Specifier inherited from a base class.
Specifies that this class is not an acceptable base class for creating Blueprints. This is the default and is inherited by subclasses.
Placeable Specifier inherited from a base class. Indicates that Objects of this class may not be placed into a Level, UI scene, or Blueprint in the Editor.
Configuration information for this class will be stored per Object, where each object has a section in the
.ini file named after the Object in the format
[ObjectName ClassName]. This Specifier is propagated to child classes.
Indicates that this class can be created in the Editor and placed into a level, UI scene, or Blueprint (depending on the class type). This flag is propagated to all child classes; child classes can override this flag using the
ShowCategories=(Category1, Category2, ...)
HideCategories Specifier (inherited from a base class) for the listed categories.
ShowFunctions=(Category1, Category2, ...)
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
OuterClassName Object. This means that creating an Object of this class requires that an instance of
OuterClassName is provided as its