Title: Metadata Specifiers Crumbs:%ROOT%, Programming, Programming/UnrealArchitecture/Reference Description: Metadata keywords used when declaring classes, functions, and interfaces to specify how they behave with various aspects of the engine and editor. Availability:Public Version: 4.9 When declaring classes, functions, and interfaces, metadata specifiers can be added to the declaration to control how they behave with various aspects of the engine and editor. [EXCERPT:MetadataUsage] The usage of metadata specifiers differs between regular classes, functions, and interfaces. [/EXCERPT:MetadataUsage] To use metadata specifies, use the meta specifier in a `UCLASS`, `UINTERFACE`, or `UFUNCTION` macro: UCLASS(meta=(BlueprintSpawnableComponent)) ## Class Metadata Specifiers [EXCERPT:ClassMetadata] Classes can use the following metatag specifier: * [](Programming\UnrealArchitecture\Reference\Metadata\BlueprintSpawnableComponent) [/EXCERPT:ClassMetadata] ## Function Metadata Specifiers [EXCERPT:FunctionMetadata] Functions can use the following metatag specifiers: * [](Programming\UnrealArchitecture\Reference\Metadata\BlueprintInternalUseOnly) * [](Programming\UnrealArchitecture\Reference\Metadata\BlueprintProtected) * [](Programming\UnrealArchitecture\Reference\Metadata\DeprecatedFunction) * [](Programming\UnrealArchitecture\Reference\Metadata\DeprecationMessage) * [](Programming\UnrealArchitecture\Reference\Metadata\UnsafeDuringActorConstruction) [/EXCERPT:FunctionMetadata] ## Interface Metadata Specifiers [EXCERPT:InterfaceMetadata] Interfaces can use the following metatag specifier: * [](Programming\UnrealArchitecture\Reference\Metadata\CannotImplementInterfaceBlueprint) [/EXCERPT:InterfaceMetadata]