Skip to main content

Resource

Specifier Reference

All the specifiers and metadata keys you can put inside UPROPERTY, UFUNCTION, UCLASS, USTRUCT, UENUM, and UMETA. Filter by macro, kind, or category.

Macro Builder

Pick specifiers, fill in values, and copy the full macro line. Conflicts are caught automatically.

EditAnywhere
Property is editable on class defaults and placed instances.
EditInstanceOnly
Property is editable only on placed instances, not on class defaults.
EditDefaultsOnly
Property is editable only on class defaults (the CDO), not on placed instances.
VisibleAnywhere
Property is visible in the editor on defaults and instances but not editable. Use for components and runtime state.
VisibleInstanceOnly
Property is visible only on placed instances but not editable.
VisibleDefaultsOnly
Property is visible only on class defaults but not editable.
BlueprintReadWrite
Property can be read and written from Blueprint. Requires an Edit or Visible specifier to also appear in details.
BlueprintReadOnly
Property can be read from Blueprint but not written. The safer default — only promote to ReadWrite when Blueprint genuinely needs to write.
BlueprintSetter
Specifies a custom setter function that Blueprint calls when writing this property.
BlueprintGetter
Specifies a custom getter function that Blueprint calls when reading this property.
BlueprintAssignable
Multicast delegate can be assigned (bound to) in Blueprint. Use on dynamic multicast delegates.
BlueprintCallable
Multicast delegate can be called (broadcast) from Blueprint.
BlueprintAuthorityOnly
Multicast delegate only accepts events marked BlueprintAuthorityOnly in Blueprint.
Replicated
Property is replicated over the network. Requires GetLifetimeReplicatedProps implementation.
ReplicatedUsing
Property is replicated and calls the specified function when the value changes on the client.
NotReplicated
Property is skipped during replication. Only valid on struct members or RPC service request parameters. Using it on a class property is a compile error.
Config
Property value is loaded from and saved to the class config .ini file.
GlobalConfig
Property is loaded from the global (base) config, not subclass-specific configs.
Transient
Property is not saved or loaded. Reset to default on load. Use for runtime-only state.
DuplicateTransient
Property is reset to default when the object is duplicated (copy/paste, Play In Editor).
TextExportTransient
Property is not exported to text format (copy/paste).
NonPIEDuplicateTransient
Property is only duplicated in Play In Editor, reset in all other duplication.
SaveGame
Property is included in save game serialization.
SkipSerialization
Property is not serialized at all but can still be exported to text.
NonTransactional
Property changes are not recorded in the undo/redo transaction buffer.
Category
Groups the property under a named category in the details panel. Use | for subcategories.
SimpleDisplay
Property is shown in the simple (non-advanced) view of the details panel.
AdvancedDisplay
Property is hidden behind the Advanced dropdown in the details panel.
NoClear
Hides the Clear button on object reference properties in the editor.
Instanced
Object property is a component-like instance. The referenced object is duplicated with the outer and is editable inline.
Export
Object can be exported with its outer actor. Used for subobject serialization.
EditFixedSize
Array elements can be modified in the editor, but the array size cannot be changed.
Interp
Property can be driven by Sequencer tracks. Implies EditAnywhere and BlueprintVisible.
AssetRegistrySearchable
Property value is indexed in the Asset Registry for fast queries without loading the asset.
ExposeOnSpawn
Property is exposed as a pin on the SpawnActor node in Blueprint.
FieldNotify
Enables the field notification system for this property. Used with MVVM and UI binding.
Getter
Specifies a custom native getter function for the property.
Setter
Specifies a custom native setter function for the property.
ClampMin
Hard minimum value in the editor UI. The slider and text input will not allow values below this. Does not enforce at runtime — add your own clamping in code if needed.
ClampMax
Hard maximum value in the editor UI. The slider and text input will not allow values above this. Does not enforce at runtime — add your own clamping in code if needed.
UIMin
Minimum value for the editor slider. The value can still be typed below this.
UIMax
Maximum value for the editor slider. The value can still be typed above this.
SliderExponent
Exponent for logarithmic slider scaling. Values above 1 cluster precision near the low end.
Delta
Increment amount when using the spinbox arrows in the editor.
FixedIncrement
Fixed increment for value adjustments. The value snaps to multiples of this.
LinearDeltaSensitivity
Sensitivity multiplier for linear delta changes when dragging the value.
Units
Display unit label next to the value. Supports Centimeters, Meters, Kilometers, Degrees, Seconds, etc.
AllowedClasses
Comma-separated list of classes allowed for a soft or object reference property.
DisallowedClasses
Comma-separated list of classes not allowed for a soft or object reference property.
MetaClass
Restricts a TSubclassOf property to subclasses of the specified class.
MetaStruct
Restricts an FInstancedStruct property to instances of the specified struct.
MustImplement
Object reference must implement the specified interface.
Bitmask
Marks an integer property as a bitmask. Enables the bitmask editor widget. Only valid on non-float numeric properties. Pair with BitmaskEnum to name individual bits.
BitmaskEnum
Enum to use for naming individual bits in a bitmask property. Requires Bitmask on the same property.
ArraySizeEnum
Enum that determines the fixed size of a static array. Array indices map to enum values.
GetOptions
Name of a UFUNCTION that returns a TArray<FString> to populate a dropdown for this property.
DisplayName
Custom display name for the property in the editor details panel.
ToolTip
Custom tooltip shown when hovering over the property in the editor.
ShortToolTip
Short tooltip used in compact UI contexts.
EditCondition
Boolean expression that controls whether this property is editable. Grays out the field when false.
EditConditionHides
When combined with EditCondition, hides the property entirely instead of graying it out.
InlineEditConditionToggle
Boolean property that shows as an inline checkbox next to the property it controls via EditCondition.
MultiLine
FString or FText property uses a multi-line text editor.
AllowPrivateAccess
Allows Blueprint to access a private property. Use with BlueprintReadWrite or BlueprintReadOnly.
MakeStructureDefaultValue
Default value for a struct member when the struct is used as a function parameter.
TitleProperty
Struct member whose value is shown as the array element title in the editor. Makes struct arrays readable.
EditInline
Internal metadata set automatically by the Instanced specifier. Don't set manually — use Instanced instead, which also sets PersistentInstance and ExportObject.
ShowOnlyInnerProperties
Struct property shows its members directly in the parent category without a collapsible header.
ValidEnumValues
Comma-separated list of enum values that are valid for this property. Others are hidden from the dropdown.
InvalidEnumValues
Comma-separated list of enum values that are invalid for this property. These are hidden from the dropdown.
BlueprintCallable
Function can be called from Blueprint graphs. The most common UFUNCTION specifier.
BlueprintPure
Function has no side effects and no execution pin. Implies BlueprintCallable. Use for getters and math.
BlueprintImplementableEvent
C++ declares the function signature, Blueprint provides the implementation. No C++ body.
BlueprintNativeEvent
C++ provides a default implementation (_Implementation suffix), Blueprint can override it.
BlueprintAuthorityOnly
Function only executes if the object has network authority. Silently skipped on clients.
BlueprintCosmetic
Function is cosmetic and won't run on dedicated servers. Use for VFX, sound, and UI feedback.
BlueprintGetter
Function serves as the Blueprint getter for a UPROPERTY with BlueprintGetter specified.
BlueprintSetter
Function serves as the Blueprint setter for a UPROPERTY with BlueprintSetter specified.
SealedEvent
Blueprint event cannot be overridden in child Blueprints. The implementation is sealed.
Server
Function is an RPC from client to server. Requires Reliable or Unreliable.
Client
Function is an RPC from server to the owning client. Requires Reliable or Unreliable.
NetMulticast
Function is an RPC from server to all connected clients. Requires Reliable or Unreliable.
Reliable
RPC is guaranteed to arrive. Uses a queue — overuse causes buffer overflow and disconnects.
Unreliable
RPC is best-effort. May be dropped under congestion. Use for frequent non-critical calls.
WithValidation
RPC must have a _Validate function that returns bool. If it returns false, the client is disconnected.
ServiceRequest
Function is a network service request.
ServiceResponse
Function is a network service response.
Exec
Function is callable from the in-game console (~). Only works on PlayerControllers, Pawns, HUDs, Cheat Managers, and Game Modes.
CallInEditor
Function gets a button in the details panel that calls it while in the editor (not at runtime).
CustomThunk
Function has a custom Blueprint VM thunk instead of the auto-generated one. For advanced use.
Category
Category under which the function appears in the Blueprint action menu. Required for BlueprintCallable.
DisplayName
Custom display name for the function in the Blueprint action menu and node title.
ReturnDisplayName
Custom display name for the return value pin on the Blueprint node.
ToolTip
Custom tooltip shown when hovering over the function in the Blueprint action menu.
ShortToolTip
Short tooltip used in compact contexts.
DefaultToSelf
Specified parameter defaults to Self (the calling object). Hides the pin when Self is valid.
WorldContext
Specified parameter is auto-filled with the world context. Required for static Blueprint Function Library functions.
HidePin
Hides the specified parameter pin from the Blueprint node. The parameter uses its default value.
AdvancedDisplay
Comma-separated parameter names that are hidden behind the Advanced dropdown on the Blueprint node.
ExpandBoolAsExecs
Bool return or output parameter becomes multiple execution output pins (true/false branches).
ExpandEnumAsExecs
Enum parameter or return becomes multiple execution output pins, one per enum value.
Latent
Function is latent — it doesn't complete immediately. Shows a clock icon on the Blueprint node.
LatentInfo
Specifies which parameter holds the FLatentActionInfo. Required with Latent.
DeprecatedFunction
Marks the function as deprecated. Blueprint shows a warning when the node is used.
DeprecationMessage
Message shown when a deprecated function is used in Blueprint.
DevelopmentOnly
Function is stripped from shipping builds. Use for debug and development tools.
BlueprintInternalUseOnly
Function can't be placed directly by users. Used for internal engine functions that drive async nodes.
CommutativeAssociativeBinaryOperator
Binary operator that allows adding extra input pins in Blueprint.
UnsafeDuringActorConstruction
Function is not safe to call during actor construction. Blueprint shows a warning.
BlueprintProtected
Function can only be called on the owning object in Blueprint, not on other references.
DeterminesOutputType
Specified parameter determines the output type. Used for functions with wildcard returns.
DynamicOutputParam
Output parameter whose type changes based on DeterminesOutputType.
AutoCreateRefTerm
Specified pass-by-reference parameters auto-create a temporary when unconnected in Blueprint.
KeyWords
Additional search keywords for finding the function in the Blueprint action menu.
CompactNodeTitle
Short title shown on a compact Blueprint node (like operator nodes).
HideSelfPin
Hides the self pin on the Blueprint node. Used for static-like functions.
Blueprintable
Class can be used as a base class for Blueprints. This is inherited by child classes.
NotBlueprintable
Class cannot be used as a base class for Blueprints. Use to block subclassing in BP.
BlueprintType
Class can be used as a variable type in Blueprint. Does not imply Blueprintable.
Abstract
Class cannot be instantiated directly. Must be subclassed.
Deprecated
Class is deprecated. Instances are loaded but flagged as deprecated in the editor.
Transient
Instances of this class are never saved to disk. Inherited by child classes.
NonTransient
Overrides inherited Transient flag. Instances of this class are saved normally.
DefaultToInstanced
All instances of this class are instanced by default. Used with EditInlineNew.
EditInlineNew
Instances can be created inline in the editor from a property dropdown. Pairs with Instanced UPROPERTY.
NotEditInlineNew
Overrides inherited EditInlineNew. Instances cannot be created inline.
Placeable
Class can be placed in a level via the editor.
NotPlaceable
Class cannot be placed in a level. Overrides inherited Placeable from parent.
Const
All properties are const in Blueprint. Blueprint cannot modify this class.
Hidden
Class is hidden from the class browser and other editor UI.
HideDropDown
Class does not appear in class picker dropdown menus.
MinimalAPI
Only the class type info is exported. Other modules can use pointers but not call functions.
Within
Class can only exist as a subobject of the specified outer class.
CollapseCategories
Properties are not grouped into categories in the details panel.
DontCollapseCategories
Overrides inherited CollapseCategories.
AdvancedClassDisplay
All properties default to AdvancedDisplay in the details panel.
ShowCategories
Re-shows categories hidden by a parent class.
HideCategories
Hides the specified categories from the details panel.
AutoExpandCategories
Specified categories are expanded by default in the details panel.
AutoCollapseCategories
Specified categories are collapsed by default in the details panel.
PrioritizeCategories
Specified categories appear at the top of the details panel.
ShowFunctions
Re-shows functions hidden by a parent class.
HideFunctions
Hides the specified functions from the Blueprint action menu.
ClassGroup
Groups the class under a named group in the editor class browser.
ComponentWrapperClass
Actor is a wrapper that exists primarily to hold a component. Editor shows the component in place viewers.
SparseClassDataTypes
Moves specified struct data out of the CDO into shared sparse storage. Saves memory for data that rarely varies per instance.
Config
Class reads config properties from the specified .ini file.
DefaultConfig
Config values are only saved to Default .ini files, not per-user overrides.
PerObjectConfig
Each object instance has its own config section in the .ini file.
ConfigDoNotCheckDefaults
Don't check default values when saving config. Saves all config properties unconditionally.
BlueprintSpawnableComponent
Component can be added to a Blueprint via the Add Component button.
IsBlueprintBase
Explicitly controls whether this class can be used as a Blueprint base. Overrides Blueprintable for specific cases.
ChildCanTick
Child classes can tick even though the parent has ticking disabled.
ChildCannotTick
Child classes cannot tick even if the parent has ticking enabled.
ShortTooltip
Short tooltip used in compact class picker contexts.
KismetHideOverrides
Comma-separated list of function overrides to hide from Blueprint.
BlueprintType
Struct can be used as a variable type in Blueprint.
Atomic
Struct is always serialized as a single unit. If any member changes, all members are serialized.
Immutable
Struct is immutable and implies Atomic. Used for engine-level types like FVector.
NoExport
UHT does not generate code for this struct. You must provide the declaration manually.
HasNativeMake
Struct has a C++ function for constructing it. Blueprint shows a Make node.
HasNativeBreak
Struct has a C++ function for breaking it into components. Blueprint shows a Break node.
HiddenByDefault
Struct pins are hidden by default on Blueprint nodes. User must expand to see them.
DisableSplitPin
Struct pin cannot be split into individual member pins on Blueprint nodes.
BlueprintType
Enum can be used as a variable type in Blueprint.
Flags
Enum is a bitflag enum. Values are powers of two and can be combined.
Bitflags
Enum values can be used as individual bit flags in a bitmask property.
UseEnumValuesAsMaskValuesInEditor
Use the actual enum values (not bit indices) as mask values in the editor bitmask widget.
DisplayName
Custom display name for an individual enum value in the editor and Blueprint.
Hidden
Hides the enum value from editor dropdowns. The value still exists in code.
ToolTip
Tooltip for an individual enum value.
BindWidget
Binds a UPROPERTY to a UMG widget by name. The Blueprint compiler verifies the widget exists in the widget tree.
BindWidgetOptional
Like BindWidget but the widget doesn't have to exist. The property is null if the widget is missing.
BindWidgetAnim
Binds a UPROPERTY to a UMG widget animation by name.
BindWidgetAnimOptional
Like BindWidgetAnim but the animation doesn't have to exist.
AllowAbstract
Allows abstract classes to appear in the class picker for TSubclassOf or FSoftClassPath properties.
DisplayAfter
Display this property immediately after the named property in the details panel.
DisplayPriority
Numeric priority controlling display order within a category. Lower values appear first.
DeprecatedProperty
Marks the property as deprecated. Blueprint shows a warning when referencing it.
MakeEditWidget
Exposes an FVector or FTransform property as a movable widget in the viewport.
NoResetToDefault
Hides the "Reset to Default" button for this property in the details panel.
NoSpinbox
Numeric property shows a text field only, no spinbox or slider.
PasswordField
FString property renders as a password field with dots instead of characters.
HideAlphaChannel
Hides the alpha channel from FColor and FLinearColor property editors.
ForceShowEngineContent
Asset picker shows Engine content even if the user has it hidden.
ForceShowPluginContent
Asset picker shows Plugin content even if the user has it hidden.
ShowTreeView
Class or asset picker uses a tree view instead of a flat list.
MaxLength
Maximum character length for FString and FText properties.
FilePathFilter
File extension filter for FFilePath properties in the file picker dialog.
RelativeToGameDir
FFilePath picker outputs a path relative to the game directory instead of absolute.
ContentDir
FDirectoryPath picker restricts to the Content directory.
AllowPreserveRatio
Adds a ratio lock button for FVector properties so components scale together.
Untracked
FSoftObjectPath or FSoftObjectPtr reference is not tracked by the asset registry.
AssetBundles
Names the asset bundle this soft reference belongs to for PrimaryDataAsset loading.
ExactClass
FSoftObjectPath picker only shows the exact AllowedClasses, not subclasses.
HideInDetailPanel
Property is hidden from the details panel entirely. Still accessible in code and Blueprint.
NeverAsPin
Property is never exposed as a data pin on Animation Blueprint and UMG nodes.
PinShownByDefault
Property is exposed as a visible data pin by default on Animation Blueprint and UMG nodes.
AlwaysAsPin
Property is always exposed as a data pin on Animation Blueprint and UMG nodes.
PinHiddenByDefault
Property is exposed as a data pin but hidden by default. User can show it manually.
EditFixedOrder
Prevents array elements from being reordered by dragging in the details panel.
NoElementDuplicate
Hides the duplicate icon for array entries in the details panel.
DisplayThumbnail
Shows a thumbnail preview of the selected asset next to the property.
ConfigHierarchyEditable
Property can be edited in the config hierarchy editor.
ForceRebuildProperty
Changing this property forces a refresh of sibling properties in the details panel.
GetAssetFilter
Name of a UFUNCTION that filters which assets appear in the asset picker.
GetClassFilter
Name of a static UFUNCTION that filters which classes appear in the class picker.
GetAllowedClasses
Name of a UFUNCTION that returns allowed classes dynamically (instead of static AllowedClasses).
GetDisallowedClasses
Name of a UFUNCTION that returns disallowed classes dynamically.
GetRestrictedEnumValues
Name of a UFUNCTION that returns restricted enum values dynamically.
Multiple
Numeric value must be a multiple of this value.
BlueprintThreadSafe
Function is safe to call from non-game threads in Blueprint. Used heavily in animation and audio.
NotBlueprintThreadSafe
Overrides a class-level BlueprintThreadSafe marking for a specific function.
BlueprintAutocast
Auto-inserts a cast node between the return value and first parameter types in Blueprint.
CallableWithoutWorldContext
BlueprintCallable function can be called without a valid world context object.
NativeBreakFunc
Function displays like a Break Struct node in Blueprint.
NativeMakeFunc
Function displays like a Make Struct node in Blueprint.
ArrayParm
Function uses the Call Array Function node pattern with wildcard array parameters.
ArrayTypeDependentParams
Parameters whose wildcard type is linked to the ArrayParm element type.
CustomStructureParam
Parameter is polymorphic in a CustomThunk function. Accepts any struct type.
MapParam
TMap parameter whose key/value types are determined at compile time.
MapKeyParam
Parameter whose type matches the key type of a MapParam.
MapValueParam
Parameter whose type matches the value type of a MapParam.
SetParam
TSet parameter whose element type is determined at compile time.
ScriptMethod
Static function is hoisted to an instance method on the first parameter's type in scripting languages.
ScriptOperator
Static function is exposed as an operator in scripting languages.
ScriptConstant
Static function is exposed as a constant in scripting languages.
DataTablePin
Parameter is a Data Table pin with row type inference in Blueprint.
HideSpawnParms
Hides the specified parameter from spawn pins on async task nodes.
CustomConstructor
Prevents UHT from generating the constructor declaration. You provide it manually in the CPP block.
CustomFieldNotify
Prevents UHT from generating the FieldNotify declaration. You provide it manually.
Optional
Class may not be available in all contexts. Used for optional platform features.
GlobalUserConfig
Config is saved to the global user settings directory, not the project.
ProjectUserConfig
Config is saved to the project's user settings directory.
PerPlatformConfig
Config can be overridden per platform in platform-specific .ini files.
Experimental
Marks the class as experimental. Editor shows a warning badge.
EarlyAccessPreview
Marks the class as early access preview. Editor shows a preview badge.
IgnoreCategoryKeywordsInSubclasses
First subclass ignores all inherited ShowCategories and HideCategories specifiers.
DeprecatedNode
Blueprint node for this class shows a deprecation warning when compiled.
DeprecationMessage
Custom warning message displayed when a deprecated node is used.
ExposedAsyncProxy
Exposes the proxy object on async task Blueprint nodes so you can bind to its delegates.
RestrictedToClasses
Blueprint Function Library functions are only available to the specified classes.
ShowWorldContextPin
Shows the normally hidden world context pin on Blueprint nodes for classes that don't implement GetWorld.
DontUseGenericSpawnObject
Prevents using the generic Construct Object node. Class requires a specialized spawn function.
ProhibitedInterfaces
Comma-separated interfaces that are incompatible with this class.
CannotImplementInterfaceInBlueprint
Interface cannot be implemented by Blueprints. Only C++ classes can implement it.

246 of 246 specifiers

Unreal Directive is free and ad-free.

If it saved you time, you can help keep it that way.

Donate