Overview
Blueprint-created members normally cannot use metadata specifiers such as EditCondition, ClampMin or Categories. MetaWrench adds a Metadata section to the Blueprint editor's Details panel where those values can be set with proper editors (check boxes, numeric fields, gameplay tag pickers, drop-downs). It is aimed at designers and technical artists who build reusable Blueprints and want polished Details panels for them.
- Works on variables, local variables, functions, custom events, function/event parameters, collapsed graphs and macros, User Defined Structs and their members.
- A Property Visibility row sets how a variable appears in class defaults and instance Details panels (from Hidden to Edit Anywhere).
- Ships with a broad set of commonly used keys pre-configured; add, remove or edit keys in Project Settings.
- Each key can be limited to certain Blueprint classes, property types, containers and member kinds, and can require or exclude other keys.
- Optional per-user raw key/value editor for every metadata entry.
- Editor only: nothing is added to packaged games, and there is nothing to call from Blueprints or C++.
Requirements
| Requirement | Details |
|---|---|
| Unreal Engine | 5.8 (verified clean) |
| Modules | MetaWrench (Editor), MetaWrenchGraph (UncookedOnly) |
| Dependencies | Engine plugin GameplayTagsEditor (enabled automatically with MetaWrench) |
| Language | Editor-only tool (no Blueprint nodes or C++ API to call) |
| Platforms | No platform restriction in the plugin; it only runs in the editor. Win64 is built and verified by Alpha XP; Mac and Linux editors are supported by the code, not verified by Alpha XP. |
Installation
- Install MetaWrench from the launcher into your engine, or copy the
MetaWrenchfolder into your project'sPluginsfolder. - For a C++ project, regenerate project files and build the editor target.
- Open the project, go to Edit > Plugins, enable MetaWrench and restart the editor.
- No
.Build.cschanges are needed — MetaWrench has no runtime module and no API for game code.
Quick start
Hide a variable unless a bool is ticked
- In a Blueprint, create a bool variable
bUseCustomSpeedand a float variableCustomSpeed; mark both Instance Editable. - Select
CustomSpeed; in the Metadata section set EditCondition tobUseCustomSpeedand tick EditConditionHides. - Optionally set ClampMin / ClampMax and the UIMin / UIMax slider range.
- Compile and place the Blueprint in a level:
CustomSpeedonly appears in the Details panel whenbUseCustomSpeedis ticked, and its value is clamped.
MetaWrench is editor-only, so there is no C++ example: the metadata you set is stored on the Blueprint members exactly as if it had been written in a C++ meta=(...) specifier.
Editing metadata
| Where | What you see |
|---|---|
| Variable / local variable selected | Metadata category (plus Property Visibility for member variables). |
| Function, custom event, collapsed graph or macro selected | Metadata category for function-level keys and a Param Metadata group per input/output parameter. |
| User Defined Struct opened | A Metadata tab in the struct editor with Struct Metadata and Property Metadata. |
| Raw editor enabled | A Raw Metadata group listing every key/value pair. |
Only keys that apply to the selected member's type and Blueprint class are shown. Keys with a Category are grouped in sub-sections.
Key types
| Node | Type | Description |
|---|---|---|
| Flag | Enum value | Check box that adds or removes the key; no value (e.g. EditConditionHides). |
| Boolean | Enum value | Check box that writes true / false (e.g. NoSpinbox). |
| String | Enum value | Text field (e.g. EditCondition, AllowedClasses). |
| Integer | Enum value | Integer field with optional min/max and slider. |
| Float | Enum value | Float field with optional min/max and slider. |
| GameplayTag | Enum value | Single gameplay tag picker. |
| GameplayTagContainer | Enum value | Multi-tag picker (e.g. the Categories tag filter, shown as "Tag Filter"). |
| ValueList | Enum value | Drop-down of predefined values. |
These are the values of EMetaWrenchKeyType, chosen per key in the settings.
Structs
Open a User Defined Struct asset: a Metadata tab is added to the struct editor. Struct-level keys such as HiddenByDefault (Make/Break pins hidden by default) and DisableSplitPin are edited under Struct Metadata; member keys under Property Metadata. Disable the tab with Enable Meta Data Editor For Structs.
Raw metadata editor
Editor Preferences > General > MetaWrench (Local Only) > bEnableRawMetaDataEditor (Enable Raw Meta Data Editor, default off) adds a Raw Metadata group showing every key/value pair on the selected member, including keys that are not configured in the project settings. You can add, edit and remove entries there. This setting is stored per user and is not shared with the team.
Settings
Project Settings > Editor > MetaWrench (class UMetaWrenchConfig, saved to Config/DefaultEditor.ini, section [/Script/MetaWrench.MetaWrenchConfig]). Changes take effect immediately.
| Node | Default | Description |
|---|---|---|
| bSortMetaDataAlphabetically | true | Sort the key list by name. |
| bEnableMetaDataEditorForVariables | true | Metadata section on member variables. |
| bEnableMetaDataEditorForLocalVariables | true | Metadata section on function local variables. |
| bEnableMetaDataEditorForFunctions | true | Metadata section on functions. |
| bEnableMetaDataEditorForCustomEvents | true | Metadata section on custom events. |
| bEnableMetaDataEditorForTunnels | false | Shown as "Enable Meta Data Editor for Collapsed Graphs and Macros". |
| bEnableMetaDataEditorForFunctionParameters | true | Parameter metadata on function and event parameters. |
| bEnableMetaDataEditorForStructs | true | Metadata tab in the User Defined Struct editor. |
| bEnablePropertyVisibilityEditor | true | Property Visibility row on variables. |
| MetaDataKeys | pre-configured list | The keys offered in the Details panel (see below). |
Configuring keys
Each entry of Meta Data Keys (FMWMetaDataKey) has these fields:
| Node | Type | Description |
|---|---|---|
| Key | Key field | Metadata name, e.g. ClampMin. |
| KeyType | Key field | Editor widget (see Key types). |
| Description | Key field | Tooltip shown next to the editor. |
| Category | Key field | Optional sub-group; nest with |. |
| RequiredMetaData | Key field | Only show this key when another key is present. |
| IncompatibleMetaData | Key field | Hide this key when any of these keys is present. |
| SupportedBlueprints | Key field | Blueprint classes the key applies to (e.g. Widget Blueprints only). |
| SupportedPropertyTypes | Key field | Pin type, sub-type, sub-type object, value type and container (FMetaWrenchPropertyType); empty for function-only keys. |
| bCanBeUsedByFunctions | Key field | Offer the key on functions/events. |
| bCanBeUsedByStructs | Key field | Offer the key on User Defined Structs. |
| bCanBeUsedOnVariables | Key field | Offer the key on member variables. |
| bCanBeUsedOnLocalVariables | Key field | Offer the key on local variables. |
| bCanBeUsedOnFunctionParameters | Key field | Offer the key on parameters. |
| bAllowSlider | Key field | Numeric keys: show a slider (with MinSliderInt/MaxSliderInt or MinSliderFloat/MaxSliderFloat). |
| MinInt / MaxInt / MinFloat / MaxFloat | Key field | Numeric keys: allowed value range. |
| ValueList | Key field | ValueList keys: the selectable values. |
| DisplayNameOverride | Key field | Alternative label in the Details panel. |
Pre-configured keys include EditCondition, EditConditionHides, DisplayAfter, DisplayPriority, NoResetToDefault, InlineEditConditionToggle, NoSpinbox, SliderExponent, Delta, Multiple, ArrayClamp, ClampMin, ClampMax, UIMin, UIMax, GetOptions, NoElementDuplicate, ForceInlineRow, TitleProperty, ShowOnlyInnerProperties, ValidEnumValues, InvalidEnumValues, Categories, AllowedTypes, RowType, RequiredAssetDataTags, HideAlphaChannel, AssetBundles, Untracked, AllowAbstract, ShowTreeView, BlueprintBaseOnly, ExactClass, MustImplement, DesignerRebuild, BindWidget, BindWidgetOptional, BindWidgetAnim, BindWidgetAnimOptional, DefaultToSelf, DisplayThumbnail, AllowedClasses, DisallowedClasses, HiddenByDefault, DisableSplitPin, BaseStruct, ExcludeBaseStruct and StructTypeConst.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| No Metadata section appears | The member kind is disabled in Project Settings > Editor > MetaWrench, or no configured key supports that property type and Blueprint class. Check the Supported Property Types of the key you expect. |
| A key is missing for one variable but shown for another | The key may have Required Meta Data that the variable does not have yet (e.g. EditConditionHides needs EditCondition), or an Incompatible Meta Data key that it does have. |
| Nothing is shown for collapsed graphs or macros | Enable Meta Data Editor for Collapsed Graphs and Macros is off by default; enable it in the settings. |
| A removed key still affects a variable | Removing a key from the settings does not remove metadata already stored on members. Use the raw metadata editor to delete it. |
| Metadata on a local variable has no effect until compile | Local-variable metadata is applied by the Blueprint compiler extension in MetaWrenchGraph; compile the Blueprint. |
| Property Visibility row is read-only | The variable was not created in this Blueprint (it is inherited); change it where it is declared. |
Credits
© 2026 Alpha XP — alphaxp.net · Support: support@alphaxp.net. Built and verified for Unreal Engine 5.8.