UC::

Valid keywords for the UCLASS macro

Windows
MacOS
Linux

References

Module

CoreUObject

Header

/Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h

Include

#include "UObject/ObjectMacros.h"

Syntax

namespace UC
{
    enum
    {
        classGroup,
        Within,
        BlueprintType,
        NotBlueprintType,
        Blueprintable,
        NotBlueprintable,
        MinimalAPI,
        customConstructor,
        Intrinsic,
        noexport,
        placeable,
        notplaceable,
        DefaultToInstanced,
        Const,
        Abstract,
        deprecated,
        Transient,
        nonTransient,
        config,
        perObjectConfig,
        configdonotcheckdefaults,
        defaultconfig,
        editinlinenew,
        noteditinlinenew,
        hidedropdown,
        showCategories,
        hideCategories,
        ComponentWrapperClass,
        showFunctions,
        hideFunctions,
        autoExpandCategories,
        autoCollapseCategories,
        dontAutoCollapseCategories,
        collapseCategories,
        dontCollapseCategories,
        AdvancedClassDisplay,
        ConversionRoot,
        Experimental,
        EarlyAccessPreview,
        SparseClassDataType,
        CustomThunkTemplates,
    }
}

Values

Name

Description

classGroup

This keyword is used to set the actor group that the class is show in, in the editor.

Within

Declares that instances of this class should always have an outer of the specified class. This is inherited by subclasses unless overridden.

BlueprintType

Exposes this class as a type that can be used for variables in blueprints.

NotBlueprintType

Prevents this class from being used for variables in blueprints.

Blueprintable

Exposes this class as an acceptable base class for creating blueprints. The default is NotBlueprintable, unless inherited otherwise. This is inherited by subclasses.

NotBlueprintable

Specifies that this class is NOT an acceptable base class for creating blueprints. The default is NotBlueprintable, unless inherited otherwise. This is inherited by subclasses.

MinimalAPI

This keyword indicates that the class should be accessible outside of it's module, but does not need all methods exported.

customConstructor

Prevents automatic generation of the constructor declaration.

Intrinsic

Class was declared directly in C++ and has no boilerplate generated by UnrealHeaderTool.

noexport

No autogenerated code will be created for this class; the header is only provided to parse metadata from.

placeable

Allow users to create and place this class in the editor. This flag is inherited by subclasses.

notplaceable

This class cannot be placed in the editor (it cancels out an inherited placeable flag).

DefaultToInstanced

All instances of this class are considered "instanced". Instanced classes (components) are duplicated upon construction. This flag is inherited by subclasses.

Const

All properties and functions in this class are const and should be exported as const. This flag is inherited by subclasses.

Abstract

Class is abstract and can't be instantiated directly.

deprecated

This class is deprecated and objects of this class won't be saved when serializing. This flag is inherited by subclasses.

Transient

This class can't be saved; null it out at save time. This flag is inherited by subclasses.

nonTransient

This class should be saved normally (it cancels out an inherited transient flag).

config

Load object configuration at construction time.

perObjectConfig

Handle object configuration on a per-object basis, rather than per-class.

configdonotcheckdefaults

Determine whether on serialize to configs a check should be done on the base/defaults ini's.

defaultconfig

Save object config only to Default INIs, never to local INIs.

editinlinenew

These affect the behavior of the property editor.

noteditinlinenew

Class can't be constructed from editinline New button.

hidedropdown

Class not shown in editor drop down for class selection.

showCategories

Shows the specified categories in a property viewer. Usage: showCategories=CategoryName or showCategories=(category0, category1, ...)

hideCategories

Hides the specified categories in a property viewer. Usage: hideCategories=CategoryName or hideCategories=(category0, category1, ...)

ComponentWrapperClass

Indicates that this class is a wrapper class for a component with little intrinsic functionality (this causes things like hideCategories and showCategories to be ignored if the class is subclassed in a Blueprint)

showFunctions

Shows the specified function in a property viewer. Usage: showFunctions=FunctionName or showFunctions=(category0, category1, ...)

hideFunctions

Hides the specified function in a property viewer. Usage: hideFunctions=FunctionName or hideFunctions=(category0, category1, ...)

autoExpandCategories

Specifies which categories should be automatically expanded in a property viewer.

autoCollapseCategories

Specifies which categories should be automatically collapsed in a property viewer.

dontAutoCollapseCategories

Clears the list of auto collapse categories.

collapseCategories

Display properties in the editor without using categories.

dontCollapseCategories

Display properties in the editor using categories (default behaviour).

AdvancedClassDisplay

All the properties of the class are hidden in the main display by default, and are only shown in the advanced details section.

ConversionRoot

A root convert limits a sub-class to only be able to convert to child classes of the first root class going up the hierarchy.

Experimental

Marks this class as 'experimental' (a totally unsupported and undocumented prototype)

EarlyAccessPreview

Marks this class as an 'early access' preview (while not considered production-ready, it's a step beyond 'experimental' and is being provided as a preview of things to come)

SparseClassDataType

Some properties are stored once per class in a sidecar structure and not on instances of the class.

CustomThunkTemplates

Specifies the struct that contains the CustomThunk implementations.

Remarks

Valid keywords for the UCLASS macro

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss