Download

Creating metadata in editor

is there a way to create metadata for a static mesh in the editor before the asset is in the scene?

I have a lot of static meshes but i need a few variables (constants) for them. Rather than have a lot of actors i figured it may be easier to store them as metadata.

You could define a data structure that has the mesh as one of the elements, and then use the data structure reference instead of the mesh reference when you need it.

Other than that, the way to do it is to create a static mesh blueprint. That’s literally what blueprints are – ways of attaching known (meta)data to entities.

Note that almost nothing you do in the “file browser” window is working on “actors,” it’s working on “classes.” Some classes may be “actor subclasses,” but they are not “actors,” proper. Classes turn into actors when you drop an instance of them into the world window. Much of what goes on in Unreal is confusing and hard to tell apart, until this distinction becomes clear.

Finally, it’s annoying that “create blueprint” from a Static Mesh (which isn’t in itself an Actor subclass) ends up deriving from Actor. To make a data type that has other data, and behaves like a Static Mesh (you can pick it in static mesh browsers and such,) you have to use C++, and create a subclass, add the properties to that class, and mark it up with the appropriate reflection macros. Then you need to make a factory/importer/editor-utility that allows you to turn the static mesh instance into a your-static-mesh instance. If you’re good with C++, this might be a way to go!