I have been working on a grand strategy game prototype for awhile now and just got my map editor working in the Godot editor! I needed to be able to place map objects and locators for those map objects (position, scale, and rotation) on a whole bunch of positions all over the map in a way that I could do a lot of them without being a massive pain or insanely time consuming.
Thankfully Godot exposes a lot of really great ways to do all of this directly in the editor. A lot of the functionality I needed was basically already done and is the exact same as how the 3D viewport in the editor works which saved me a ton of time, this only took a few days to put together but if I had to write all the 3D editor functionality myself it easily could have taken several months to get to where it is now. The Node3DEditor is actually not exposed to the godot API at all (except in some very limited ways) but lucky for me I was already developing as a C++ engine module so was able to add some functionality that makes it integrate in seamlessly with the Godot editor that would not have been possible outside of module development. Some of it is definitely kind of hacky and there is still a little bit of jank I can’t seem to get around because of how EditorPlugins work but overall I’m very happy with how it came out.
I plan on adding a lot more functionality to the map editor, it’s kind of barebones right now. In particular the inspector UI I made is pretty lame right now, it’s just an ItemList that let’s you select each province. Later on I want to have buttons for every locator node and some ways to automatically adjust locator positions without having to actually move them.
Here is the project if anyone want to check it out, or even help out adding new features. It’s just a protoype at this stage but I’ve made some pretty solid progress so far and this map editor should help with getting in more features even faster.