How to handle resources requiring a custom build or generation step?

Godot Version

v4.2.1.stable.mono.official [b09f793f5]


I’m trying to do some sort of unconventional things with 3D assets in my game. I will need to take some settings, ideally assigned in the inspector, and generate new geometry or process geometry in glTF files based on those settings, with different settings for each individual asset, and then bake it as an ArrayMesh and (in some cases) a Skeleton3D that can be easily used in scenes. What would be a good way to approach this in Godot, to implement a customized 3D asset pipeline that isn’t too hard to use and rebuild when needed, and pops out nicely usable resources at the end?

There’s some resources in the docs about procedural geometry, but it unfortunately doesn’t offer any suggestions about how to bake this geometry if it doesn’t need to be generated at runtime.

I imagine an ideal situation would be if I can create a Resource class, @export all my needed configuration options, treat that as a data container, and have a button I can click somewhere in the editor that triggers a build process to write or update another output Resource or Scene or whatever makes the most sense using the first resource’s current settings. I’ve been doing a lot of searching and drawing a blank on how I could make this kind of in-editor UI, though.

Sounds like you want to make a plugin

What can I do with a plugin that will help me here?

Everything you asked. You could create a custom dock and add your GUI there and do whatever you want with it for example.