UPROPERTY Specifiers

Note: This page is still under construction. There are a lot of meta specifiers still to document!

Unreal’s Property Specifiers page lists all of the core specifiers and many of the metadata specifiers, but it is not an exhaustive list.

Existing sources of documentation:

This page attempts to be an exhaustive list of all the UPROPERTY specifiers, giving explanations, sample code, screenshots and related links for each.

If you know of any not listed here, or see any mistakes, feel free to contact me.

General points

  • Case insensitive
  • Quotation marks sort of optional

Groups:

Editor

Visibility

VisibleAnywhere

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
Indicates that this property is visible in all property windows, but cannot be edited. This Specifier is incompatible with the "Edit" Specifiers.

VisibleDefaultsOnly

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
Indicates that this property is only visible in property windows for archetypes, and cannot be edited. This Specifier is incompatible with any of the "Edit" Specifiers.

VisibleInstanceOnly

Data type:
flag
Position:
main
Unreal Documentation
Indicates that this property is only visible in property windows for instances, not for archetypes, and cannot be edited. This Specifier is incompatible with any of the "Edit" Specifiers.

EditInstanceOnly

Data type:
flag
Position:
main
Unreal Documentation
Indicates that this property can be edited by property windows, but only on instances, not on archetypes. This Specifier is incompatible with any of the "Visible" Specifiers.

EditAnywhere

Data type:
flag
Position:
main
Incompatible with:
Related:
Unreal Documentation
Indicates that this property can be edited by property windows, on archetypes and instances. This Specifier is incompatible with any of the the "Visible" Specifiers.

EditDefaultsOnly

Data type:
flag
Position:
main
Incompatible with:
Related:
Unreal Documentation
Indicates that this property can be edited by property windows, but only on archetypes. This Specifier is incompatible with any of the "Visible" Specifiers.

HideInDetailPanel

Data type:
flag
Position:
meta
Unreal Documentation
Indicates that the property should be hidden in the details panel. Currently only used by events.

ShowOnlyInnerProperties

Data type:
flag
Position:
meta
Unreal Documentation
Used by struct properties. Indicates that the inner properties will not be shown inside an expandable struct, but promoted up a level.

Display

Category

Data type:
string
Position:
main
Unreal Documentation
Specifies the category of the property when displayed in Blueprint editing tools. Define nested categories using the \| operator.
UPROPERTY(Category="Animals|Canines|Dog")
bool bShouldWoof = true;

DisplayName

Data type:
string
Position:
meta
UPROPERTY(EditAnywhere, meta=(DisplayName="Display Font"))
FSoftObjectPath DisplayFontPath;

AdvancedDisplay

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
The property will be placed in the advanced (dropdown) section of any panel where it appears.

SimpleDisplay

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
Visible or editable properties appear in the Details panel and are visible without opening the "Advanced" section.

EditInline

Data type:
flag
Position:
meta

Source

ShowInnerProperties

Data type:
flag
Position:
meta

Source

FullyExpand

Data type:
bool
Position:
meta

Source

EditCondition

Data type:
string
Position:
meta

Source

HideEditConditionToggle

Data type:
flag
Position:
meta

Source

EditConditionHides

Data type:
flag
Position:
meta

Source

InlineEditConditionToggle

Data type:
flag
Position:
meta

Source

Unreal Documentation
Signifies that the bool property is only displayed inline as an edit condition toggle in other properties, and should not be shown on its own row.

DisplayAfter

Data type:
string
Position:
meta
Unreal Documentation
Indicates that the property should be displayed immediately after the property named in the metadata.

DisplayPriority

Data type:
integer
Position:
meta
Unreal Documentation
The relative order within its category that the property should be displayed in where lower values are sorted first..

DisplayThumbnail

Data type:
bool
Position:
meta

Can also be used as metadata on UCLASS().

Unreal Documentation
Indicates that the property is an asset type and it should display the thumbnail of the selected asset.
UPROPERTY(EditAnywhere, meta=(DisplayThumbnail="false"))
class UCurveFloat* SomeCurve;
UPROPERTY(EditAnywhere, meta=(DisplayThumbnail="true"))
TSoftObjectPtr<USkeletalMesh> AnimalMesh;

Undo and Redo

NonTransactional

Data type:
flag
Position:
main
Unreal Documentation
Indicates that changes to this property's value will not be included in the editor's undo/redo history.

Misc

ForceRebuildProperty

Data type:
string
Position:
meta

Source

Seems to find a child property node with the specified string, and if found, force them to be rebuilt

Data Decorators

AllowPreserveRatio

Data type:
flag
Position:
meta

Shows a preserve ratio lock. Useful for vector types like FIntPoint, FVector, FVector2D, FVector4.

Unreal Documentation
Used for `FVector` properties. It causes a ratio lock to be added when displaying this property in details panels.

UPROPERTY(EditAnywhere, meta=(AllowPreserveRatio))
FVector CustomScale;

NoResetToDefault

Data type:
flag
Position:
meta
Unreal Documentation
Property wont have a 'reset to default' button when displayed in property windows

MakeEditWidget

Data type:
flag
Position:
meta

This shows a kind of janky-looking wireframe diamond in-world at an offset relative to the parent actor. It also shows some debug text. See the screenshot. A lot of examples seem to treat this like a boolean, but it’s a flag; it just checks for HasMetaData.

Unreal Documentation
Used for Transform/Rotator properties (also works on arrays of them). Indicates that the property should be exposed in the viewport as a movable widget.

Numeric

ClampMin

Data type:
NumericType (float, int)
Position:
meta

Source

Related:
Unreal Documentation
Used for float and integer properties. Specifies the minimum value that may be entered for the property.

ClampMax

Data type:
NumericType (float, int)
Position:
meta

Source

Related:
Unreal Documentation
Used for float and integer properties. Specifies the maximum value that may be entered for the property.

UIMin

Data type:
NumericType (float, int)
Position:
meta

Source

Related:

Setting UIMin stops the user being able to drag the property lower than the specified number. The user can however set the number lower than this value by typing it in. Most of the time it makes sense to use both UIMin and ClampMin.

Unreal Documentation
Used for float and integer properties. Specifies the lowest that the value slider should represent.
UPROPERTY(meta=(UIMin=0, UIMax=100))
int32 PercentScore;

UIMax

Data type:
NumericType (float, int)
Position:
meta

Source

Related:
Unreal Documentation
Used for float and integer properties. Specifies the highest that the value slider should represent.
UPROPERTY(meta=(UIMin=0, UIMax=100))
int32 PercentScore;

NoSpinbox

Data type:
flag
Position:
meta
Unreal Documentation
Used for integer and float properties. Indicates that the spin box element of the number editing widget should not be displayed.

SliderExponent

Data type:
NumericType (float, int)
Position:
meta

Source

Unreal Documentation
Used by numeric properties. Indicates how rapidly the value will grow when moving an unbounded slider.
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GeometrySettings", AdvancedDisplay, meta = (ClampMin = "0.0001", UIMin = "0.001", UIMax = "2.0", SliderExponent = 6))
float HairTipScale;

Delta

Data type:
NumericType (float, int)
Position:
meta

Source

Changes the amount that the number changes when dragging.

Multiple

Data type:
integer or float
Position:
meta
Related:
Unreal Documentation
Used for numeric properties. Stipulates that the value must be a multiple of the metadata value.

Units

Data type:
string
Position:
meta

Source

Sets a unit to be shown after the number. For all possible values see the TEXT entries in FParseCandidates inside UnitConversion.cpp. Using an unknown value will result in a compile error. Many units have mutliple aliases, for example “Kilometers” and “km” will result in the same unit being used. Units are case-insensitive. Units also allows users to input in related units. Entering 100f into a field with Units="Celsius" results in 37.77779 °C.

UPROPERTY(EditAnywhere, meta=(Units="Celsius"))
float CookingTemperature;
UPROPERTY(EditAnywhere, meta=(Units="Kilograms"))
float TigerWeight;
UPROPERTY(EditAnywhere, meta=(Units="GB"))
float DiskSpace;
UPROPERTY(EditAnywhere, meta=(Units="Percent"))
float Happiness;
UPROPERTY(EditAnywhere, meta=(Units="times"))
float Deliciousness;

ForceUnits

Data type:
string
Position:
meta

Source

Related:

Units seems to allow property editors to override the units used to display values. In comparison ForceUnits does not allow any kind of overriding. I would stick to Units to be honest.

ArrayClamp

Data type:
string
Position:
meta

Clamps an integer to be within the range of the specified TArray.

Unreal Documentation
Used for integer properties. Clamps the valid values that can be entered in the UI to be between 0 and the length of the array specified.
UPROPERTY(EditAnywhere)
TArray<FName> Attributes;

UPROPERTY(EditAnywhere, meta=(ArrayClamp="Attributes"))
int32 SelectedAttributeIndex = 0;

Text

GetOptions

Data type:
string (function name)
Position:
meta

Generates a dropdown instead of a text box for the FName or FString property. The contents of the dropdown are populated by the results of the function.

Unreal Documentation
TArray FuncName() const; // Always return string array even if FName property.

UPROPERTY(meta=(GetOptions="GetAnimalOptions"))
FString Animal;

UFUNCTION()
TArray<FString> GetAnimalOptions() const
{
    return { "Cat", "Dog", "Elephant" };
}

MultiLine

Data type:
bool
Position:
meta

Note that this is not a flag property but a bool property. meta=(MultiLine) won’t do anything. It has to be meta=(MultiLine=true)

Unreal Documentation
Used for FString and FText properties. Indicates that the edit field should be multi-line, allowing entry of newlines.

UPROPERTY(EditAnywhere, meta=(MultiLine=true))
FText SomeLongText;

PasswordField

Data type:
bool
Position:
meta

Note that this is not a flag property but a bool property. meta=(PasswordField) won’t do anything. It has to be meta=(PasswordField=true)

Unreal Documentation
Used for FString and FText properties. Indicates that the edit field is a secret field (e.g a password) and entered text will be replaced with dots. Do not use this as your only security measure. The property data is still stored as plain text.

UPROPERTY(EditAnywhere, meta=(PasswordField=true))
FString ShhSecret;

Array

ArraySizeEnum

Data type:
flag
Position:
meta

Source

Replaces the indices on statically-created arrays with those from a UENUM().

UENUM()
enum class EArmorSlots
{
    Head,
    LeftArm,
    RightArm,
    Tummy UMETA(Hidden),
    LeftLeg,
    RightLeg,
    Num UMETA(Hidden)
};
UPROPERTY(EditAnywhere, meta=(ArraySizeEnum="EArmorSlots"))
FColor ColorForSlot[EArmorSlots::Num]

EditFixedSize

Data type:
flag
Position:
main
Related:
Unreal Documentation
Only useful for dynamic arrays. This will prevent the user from changing the length of an array via the Unreal Editor property window.

EditFixedOrder

Data type:
flag
Position:
meta

Source

Related:
Unreal Documentation
Keeps the elements of an array from being reordered by dragging.

UPROPERTY(EditAnywhere, meta=(EditFixedOrder))
TArray<FString> FixedOrderNames;

TitleProperty

Data type:
string
Position:
meta

Source

When displaying an array of structs, TitleProperty allows you to set an FString or FName property within the struct to use as a title for array elements.

Unreal Documentation
Used by arrays of structs. Indicates a single property inside of the struct that should be used as a title summary when the array entry is collapsed.

USTRUCT()
struct FCat
{
    GENERATED_BODY()
    UPROPERTY(EditDefaultsOnly)
    FString Name;
    UPROPERTY(EditDefaultsOnly)
    int32 Age;
    UPROPERTY(EditDefaultsOnly)
    FLinearColor Color;
};
// ...
UPROPERTY(EditAnywhere, meta=(TitleProperty="Name"))
TArray<FCat> Cats;

NoElementDuplicate

Data type:
flag
Position:
meta
Incompatible with:

Only seems to work with Definitely does not work with simple data types like integers and strings.

Unreal Documentation
Used for array properties. Indicates that the duplicate icon should not be shown for entries of this array in the property panel.
UPROPERTY(EditAnywhere, meta=(NoElementDuplicate))
TArray<TObjectPtr<class AActor>> NoDuplicatedActors;

Color

HideAlphaChannel

Data type:
flag
Position:
meta
Unreal Documentation
Used for FColor and FLinearColor properties. Indicates that the Alpha property should be hidden when displaying the property widget in the details.

Object

NoClear

Data type:
flag
Position:
main
Unreal Documentation
Prevents this Object reference from being set to none from the editor. Hides clear (and browse) button in the editor.

Bitmask

Bitmask

Data type:
flag
Position:
meta
Related:

Shows a dropdown box containing all bitmask options. Clicking on them enables or disables that flag.

UENUM(meta = (Bitflags, UseEnumValuesAsMaskValuesInEditor = "true"))
enum class EAnimalFlags : uint8
{
    CanFly     = 1 << 0,
    CanSwim    = 1 << 1,
    CanLayEggs = 1 << 2,
};
ENUM_CLASS_FLAGS(EAnimalFlags)

// Data type can be flag or int32
UPROPERTY(EditDefaultsOnly, meta = (Bitmask, BitmaskEnum = EAnimalFlags))
int32 AnimalFlags;

BitmaskEnum

Data type:
string
Position:
meta
Related:

See Bitmask

Serialization

SaveGame

Data type:
flag
Position:
main
Unreal Documentation
This Specifier is a simple way to include fields explicitly for a checkpoint/save system at the property level. The flag should be set on all fields that are intended to be part of a saved game, and then a proxy archiver can be used to read/write it.

SerializeText

Data type:
flag
Position:
main
Unreal Documentation
Native property should be serialized as text (ImportText, ExportText).

SkipSerialization

Data type:
flag
Position:
main
Unreal Documentation
This property will not be serialized, but can still be exported to a text format (such as for copy/paste operations).

Blueprint Logic

BlueprintAssignable

Data type:
flag
Position:
main
Unreal Documentation
Usable with Multicast Delegates only. Exposes the property for assigning in Blueprints.

BlueprintAuthorityOnly

Data type:
flag
Position:
main
Unreal Documentation
This property must be a Multicast Delegate. In Blueprints, it will only accept events tagged with BlueprintAuthorityOnly.

BlueprintCallable

Data type:
flag
Position:
main
Unreal Documentation
Multicast Delegates only. Property should be exposed for calling in Blueprint code.

BlueprintGetter

Data type:
string
Position:
main
Related:
Unreal Documentation
This property specifies a custom accessor function. If this property isn't also tagged with `BlueprintSetter` or `BlueprintReadWrite`, then it is implicitly `BlueprintReadOnly`.

BlueprintSetter

Data type:
string
Position:
main
Related:
Unreal Documentation
This property has a custom mutator function, and is implicitly tagged with BlueprintReadWrite. Note that the mutator function must be named and part of the same class.

BlueprintReadOnly

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
This property can be read by Blueprints, but not modified. This Specifier is incompatible with the `BlueprintReadWrite` Specifier.

BlueprintReadWrite

Data type:
flag
Position:
main
Incompatible with:
Unreal Documentation
This property can be read or written from a Blueprint. This Specifier is incompatible with the `BlueprintReadOnly` Specifier.

AllowPrivateAccess

Data type:
bool
Position:
meta
Unreal Documentation
Indicates that a private member marked as BluperintReadOnly or BlueprintReadWrite should be accessible from blueprints

DeprecatedProperty

Data type:
flag
Position:
meta
Unreal Documentation
This property is deprecated, any blueprint references to it cause a compilation warning.

DisallowedClasses

Data type:
string (comma-separated list)
Position:
meta
Related:
Unreal Documentation
Used in conjunction with DeprecatedNode, DeprecatedProperty, or DeprecatedFunction to customize the warning message displayed to the user.

MakeStructureDefaultValue

Data type:
string
Position:
meta

There’s only one example of this in the codebase, inside NoExportTypes.h. Not sure how this is different from just doing a C11-style FVector Scale3D = FVector(1,1,1).

Unreal Documentation
For properties in a structure indicates the default value of the property in a blueprint make structure node.
UPROPERTY(EditAnywhere, meta=(MakeStructureDefaultValue = "1,1,1"))
FVector Scale3D;

ExposeOnSpawn

Data type:
bool (see commment)
Position:
meta
Requires:
Incompatible with:

Some code checks for non-null string, some checks for "true" for truthiness. Some examples in the codebase use it like a flag, others like a bool.

Unreal Documentation
Specifies whether the property should be exposed on a Spawn Actor for the class type.

Network

Replicated

Data type:
flag
Position:
main
Unreal Documentation
The property should be replicated over the network.

NotReplicated

Data type:
flag
Position:
main
Unreal Documentation
Skip replication. This only applies to struct members and parameters in service request functions.

ReplicatedUsing

Data type:
string (function name)
Position:
main
Unreal Documentation
The `ReplicatedUsing` Specifier specifies a callback function which is executed when the property is updated over the network.
UPROPERTY(ReplicatedUsing = OnRep_PlayerName)
FString PlayerName;

// Note that function has no parameters, and is UFUNCTION
UFUNCTION()
void OnRep_PlayerName();

RepRetry

Data type:
flag
Position:
main
Unreal Documentation
Only useful for struct properties. Retry replication of this property if it fails to be fully sent (for example, Object references not yet available to serialize over the network). For simple references, this is the default, but for structs, this is often undesirable due to the bandwidth cost, so it is disabled unless this flag is specified.

UMG

BindWidget

Data type:
flag
Position:
meta

Source

Related:

Allows C++ code to access UWidget variables defined in UUserWidget Blueprint. If that makes no sense, check out this tutorial

UPROPERTY(meta=(BindWidget))
Uimages* CharacterPortrait;

BindWidgetOptional

Data type:
flag
Position:
meta

Source

Related:
Synonyms:
  • OptionalWidget

When a BindWidget-specified widget is not found, an error is thrown on compilation. When a BindWidgetOptional-specified widget is not found, only an information-level log entry is displayed. Use it for widgets that your User Widget does not require to work. Note you will need to use nullptr checks to see if the widget exists in the Blueprint.

UPROPERTY(meta=(BindWidgetOptional))
UImage* CharacterPortrait;

BindWidgetAnim

Data type:
flag
Position:
meta

Source

Related:

Allows C++ code to call widget animations defined in a child User Widget Blueprint. The name of the animation must match the variable.

UPROPERTY(meta=(BindWidgetAnim))
UWidgetAnimation* RevealWindow;

BindWidgetAnimOptional

Data type:
flag
Position:
meta

Source

Related:

The same as BindWidgetAnim but no error is thrown when the animation does not exist in the User Widget blueprint

UPROPERTY(meta=(BindWidgetAnimOptional))
UWidgetAnimation* RevealWindow;

Data Table

DataTableImportOptional

Data type:
bool
Position:
meta

Console

ConsoleVariable

Data type:
string
Position:
meta

Heavily used in developer settings. Exposes a variable so it can be changed through the console.

UPROPERTY(config, EditAnywhere, meta=(ConsoleVariable="r.Shadow.Funky"))
uint32 bEnableFunkyShadows : 0

Blueprint

BlueprintCompilerGeneratedDefaults

Data type:
flag
Position:
meta
Unreal Documentation
Property defaults are generated by the Blueprint compiler and will not be copied when CopyPropertiesForUnrelatedObjects is called post-compile.

Pickers

Class

MetaClass

Data type:
string
Position:
meta
Related:

Some datatypes like FSoftClassPath allow any class type. MetaClass lets users allow only certain classes.

Unreal Documentation
Used FSoftClassPath properties. Indicates the parent class that the class picker will use when filtering which classes to display.
UPROPERTY(EditAnywhere, meta=(MetaClass="UserWidget"))
FSoftClassPath WidgetToCreate;
UPROPERTY(config, EditAnywhere, meta=( MetaClass="DPICustomScalingRule" ))
FSoftClassPath CustomScalingRuleClass;

AllowedClasses

Data type:
string (comma-separated list of classes)
Position:
meta
Related:

Not sure how this is different to MetaClass. Note that the string must not contain prefixes, so “Actor” is correct, “AActor” is incorrect. This does work with interfaces.

Unreal Documentation
Used for `FSoftObjectPath`, `ComponentReference` and `UClass` properties. Comma delimited list that indicates the class type(s) of assets to be displayed in the asset picker (`FSoftObjectPath`) or component picker or class viewer (`UClass`).

AllowAbstract

Data type:
flag
Position:
meta
Related:

By default class pickers do not include abstract classes in their list of options. This changes that behaviour to include them. Could be useful when being able to instantiate the specified class is not important.

Unreal Documentation
UPROPERTY(EditAnywhere, meta=(AllowAbstract=true))
TSubclassOf<UUserWidget> ParentClass;

MustImplement

Data type:
string
Position:
meta
Unreal Documentation
Used for Subclass and SoftClass properties. Indicates the selected class must implement a specific interface

ShowTreeView

Data type:
flag
Position:
meta
Unreal Documentation
Used for Subclass and SoftClass properties. Shows the picker as a tree view instead of as a list

BlueprintBaseOnly

Data type:
flag
Position:
meta
Related:
Unreal Documentation
Used for Subclass and SoftClass properties. Indicates whether only blueprint classes should be shown in the class picker.
UPROPERTY(EditAnywhere, meta=(BlueprintBaseOnly, AllowAbstract))
TSubclassOf<class UObject> ParentClass;

ExactClass

Data type:
flag
Position:
meta
Related:
Unreal Documentation
Used for `FSoftObjectPath` properties in conjunction with AllowedClasses. Indicates whether only the exact classes specified in AllowedClasses can be used or whether subclasses are valid.

OnlyPlaceable

Data type:
flag
Position:
meta
Unreal Documentation
Used for Subclass properties. Indicates whether only placeable classes should be shown in the class picker.
UPROPERTY(EditAnywhere, meta=(OnlyPlaceable))
TSubclassOf<AActor> ActorToSpawn;

Component

AllowAnyActor

Data type:
flag
Position:
meta
Related:
Unreal Documentation
Used for ComponentReference properties. Indicates whether other actor that are not in the property outer hierarchy should be shown in the component picker.
UPROPERTY(EditAnywhere, meta = (UseComponentPicker, AllowAnyActor))
FComponentReference ComponentRef;

UseComponentPicker

Data type:
flag
Position:
meta
Related:

You can pick components with FComponentReference? Only seems to be used once or twice in the codebase.

UPROPERTY(EditAnywhere, meta = (UseComponentPicker, AllowAnyActor))
FComponentReference ComponentRef;

Files and Directories

RelativePath

Data type:
flag
Position:
meta
Unreal Documentation
Used by FDirectoryPath properties. Indicates that the directory dialog will output a relative path when setting the property.

ContentDir

Data type:
flag
Position:
meta
Unreal Documentation
Used by `FDirectoryPath` properties. Indicates that the path will be picked using the Slate-style directory picker inside the game Content dir.

RelativeToGameContentDir

Data type:
flag
Position:
meta
Incompatible with:

Shows an error if the user chooses a directory outside of the game’s Content directory.

Unreal Documentation
Used by FDirectoryPath properties. Indicates that the directory dialog will output a path relative to the game content directory when setting the property.

RelativeToGameDir

Data type:
flag
Position:
meta
Incompatible with:

Note that this does not work with FDirectoryPath.

Unreal Documentation
Used by FFilePath properties. Indicates that the FilePicker dialog will output a path relative to the game directory when setting the property. An absolute path will be used when outside the game directory.

FilePathFilter

Data type:
string
Position:
meta
Unreal Documentation
Used by FFilePath properties. Indicates the path filter to display in the file picker.
UPROPERTY(config, EditAnywhere, meta = (FilePathFilter = "uasset"))
FFilePath BlueprintAsset;
UPROPERTY(EditAnywhere, meta = (FilePathFilter = "Comma-separated value files (*.csv)|*.csv", RelativeToGameDir))
FFilePath CSVFilePath;

ForceShowEngineContent

Data type:
flag
Position:
meta
Unreal Documentation
Used by asset properties. Indicates that the asset pickers should always show engine content

ForceShowPluginContent

Data type:
flag
Position:
meta
Unreal Documentation
Used by asset properties. Indicates that the asset pickers should always show plugin content

HideViewOptions

Data type:
flag
Position:
meta
Unreal Documentation
Used for Subclass and SoftClass properties. Specifies to hide the ability to change view options in the class picker

LongPackageName

Data type:
flag
Position:
meta
Unreal Documentation
Used by FDirectoryPath properties. Converts the path to a long package name

Scripting

ScriptNoExport

Data type:
flag
Position:
meta

Also used on UFUNCTION()

Unreal Documentation
Flag set on a property or function to prevent it being exported to a scripting language.

Config Files

Config

Data type:
flag
Position:
main
Unreal Documentation
This property will be made configurable. The current value can be saved to the `.ini` file associated with the class and will be loaded when created. Cannot be given a value in default properties. Implies `BlueprintReadOnly`.

GlobalConfig

Data type:
flag
Position:
main
Unreal Documentation
Works just like `Config` except that you cannot override it in a subclass. Cannot be given a value in default properties. Implies `BlueprintReadOnly`.

ConfigHierarchyEditable

Data type:
flag
Position:
meta
Unreal Documentation
Property is serialized to config and we should be able to set it anywhere along the config hierarchy.

Asset Registry

AssetRegistrySearchable

Data type:
flag
Position:
main
Unreal Documentation
The `AssetRegistrySearchable` Specifier indicates that this property and its value will be automatically added to the Asset Registry for any Asset class instances containing this as a member variable. It is not legal to use on struct properties or parameters.

Unknown

MaxPropertyDepth

Data type:
int
Position:
meta

Source

No examples of this in the source code as far as I can tell.

Internal and Deprecated

Localized

Data type:
flag
Position:
main

This is mentioend in the documentation, but it’s deprecated. And it’s not used anywhere in the engine. If you’re looking for localization stuff start with FText.

Unreal Documentation
The value of this property will have a localized value defined. Mostly used for strings. Implies `ReadOnly`.

FixedIncrement

Data type:
integer
Position:
meta
Related:

Probably superceded by Delta?

Unreal Documentation
Deprecated.

NeedsLatentFixup

Data type:
flag
Position:
meta
Unreal Documentation
(Internal use only) Used for the latent action manager to fix up a latent action with the VM

LatentCallbackTarget

Data type:
flag
Position:
meta
Unreal Documentation
(Internal use only) Used for the latent action manager to track where it's re-entry should be

Todo

AlwaysAsPin

Data type:
flag
Position:
meta

Untracked

Data type:
flag
Position:
meta
Unreal Documentation
Used for SoftObjectPtr/SoftObjectPath properties to specify a reference should not be tracked. This reference will not be automatically cooked or saved into the asset registry for redirector/delete fixup.

EditInline

Data type:
flag
Position:
main
Unreal Documentation
Allows the user to edit the properties of the Object referenced by this property within Unreal Editor's property inspector (only useful for Object references, including arrays of Object reference).

DuplicateTransient

Data type:
flag
Position:
main
Unreal Documentation
Indicates that the property's value should be reset to the class default value during any type of duplication (copy/paste, binary duplication, etc.).

Export

Data type:
flag
Position:
main
Unreal Documentation
Only useful for Object properties (or arrays of Objects). Indicates that the Object assigned to this property should be exported in its entirety as a subobject block when the Object is copied (such as for copy/paste operations), as opposed to just outputting the Object reference itself.

Instanced

Data type:
flag
Position:
main
Unreal Documentation
Object (`UCLASS`) properties only. When an instance of this class is created, it will be given a unique copy of the Object assigned to this property in defaults. Used for instancing subobjects defined in class default properties. Implies `EditInline` and `Export`.

Native

Data type:
flag
Position:
main
Unreal Documentation
Property is native: C++ code is responsible for serializing it and exposing to [Garbage Collection](https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Objects/Optimizations#garbagecollection).

NoExport

Data type:
flag
Position:
main
Unreal Documentation
Only useful for native classes. This property should not be included in the auto-generated class declaration.

NonPIEDuplicateTransient

Data type:
flag
Position:
main
Unreal Documentation
The property will be reset to the default value during duplication, except if it's being duplicated for a Play In Editor (PIE) session.

TextExportTransient

Data type:
flag
Position:
main
Unreal Documentation
This property will not be exported to a text format (so it cannot, for example, be used in copy/paste operations).

Transient

Data type:
flag
Position:
main
Unreal Documentation
Property is transient, meaning it will not be saved or loaded. Properties tagged this way will be zero-filled at load time.

IgnoreForMemberInitializationTest

Data type:
flag
Position:
meta
Unreal Documentation
Used for bypassing property initialization tests when the property cannot be safely tested in a deterministic fashion. Example: random numbers, guids, etc.

AssetBundles

Data type:
string
Position:
meta

PrimaryA Client, Server, Explicit. Comma-separated. Seems to be internal-use only. “Use it on soft pointers. When you load a primary asset with the asset manager you can optionally also specify which asset bundles to load. When you do that, all soft references matching that bundle will also be loaded.”

Unreal Documentation
Used for SoftObjectPtr/SoftObjectPath properties. Comma separated list of Bundle names used inside PrimaryDataAssets to specify which bundles this reference is part of

ExposeFunctionCategories

Data type:
flag
Position:
meta

Seems to be used for exposing components within actors.

Unreal Documentation
Specifies a list of categories whose functions should be exposed when building a function list in the Blueprint Editor.
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(ExposeFunctionCategories="PointLight,Rendering|Lighting"))
TObjectPtr<class UPointLightComponent> PointLightComponent;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(ExposeFunctionCategories = "Mesh,Rendering,Physics,Components|StaticMesh", AllowPrivateAccess = "true"))
class UStaticMeshComponent* StaticMeshComponent;

Animation

Interp

Data type:
flag
Position:
main

Makes a variable animate-able on timelines. Works for any kind of timeline, including in UMG.

Unreal Documentation
Indicates that the value can be driven over time by a Track in Sequencer.
UPROPERTY(EditAnywhere, Interp)
float Radius;

Special thanks to Erekose Craft, Ben Fox for tracking down a bunch of these.

Tags:

Categories:

Posted: