Viktor Pramberg Game Programmer

Neat Metadata

April 12, 2023

A plugin for Unreal Engine that exposes various metadata to Blueprint that is otherwise only available in C++. It also serves another purpose for C++ developers, making it easy to discover and explore new metadata you might not have been aware of, and see the results of changing it instantly.

Properties in Unreal Engine can have a bunch of metadata assigned to them, to make editing them easier. Typically this is only available in C++, using the meta = (SomeTag) syntax. Benui has made a great effort documenting these. I wanted to take this type of documentation one step further, making it accessible to blueprint users in the editor directly. With NeatMetadata, these tags are editable with immediate feedback, and “type safe” widgets so you can have an easier time figuring out the format of the tags. Check out the plugin at GitHub.

Examples

Class picker

For a class picker property, NeatMetadata exposes the following metadata. If you are familiar with metadata in C++, you may recognise some of them. Notice how the MustImplement tag has a proper interface picker, making it much easier to select the correct interface. All metadata available for a class picker property.

Get options

Similar to the MustImplement tag, text properties have a custom widget to select functions that match the GetOptions metadata. The function must return an array of texts, containing the possible values that may be selected. A

Gameplay tags

When working with gameplay tags, using the Categories tag to filter which tags are allowed can be very convenient. NeatMetadata exposes those categories using a native gameplay tag widget, making it easy to select tags. A