I have a data file type, and a C++ library to read/write this data file type.
The file type describes a procedural layout of objects – a little like a lightweight scene, except much more specialized.
I want these files to be included in cooked game data as uassets.
I’d like to create an actor type that can be configured with one of these assets, and inflates it into geometry, both in editor, and in game.
My guess is that an appropriate way to go about this is:
- Derive my actor type from instanced-static-mesh-actor
- Define a new asset type that I can “import” from my data type, and which generates .uasset files.
- Inside the construct script, and each time the configured asset changes, my actor will remove any previously-created static mesh instances, and then re-create new instances based on the loaded data.
What I’m looking for is a map or description about how to go about #2.
How do I create a new asset type that I can “import” in the content browser, and that I can generate references to as properties for my new actor?
What are all the bits I need to implement to make:
- file import dialog select right file type
- content browser type filter recognize this asset type
- actor property asset picker (like “texture picker” or “mesh picker”)
- thumbnails for imported assets
- actually creating the .uasset file from the selected raw import data
What are the base classes, how do they fit together, and how are they called/managed by the engine?