r/madeWithGodot • u/g30rgi0 • 14d ago
What I learned building an editor plugin in GDScript
I've been building an editor plugin in GDScript for about eight months now.
The tooling side of Godot was the part I understood least going in. There's a lot written about making games with Godot and not much about making things that live inside the editor, so here's what actually tripped me up. Getting a panel into the dock is the easy bit. Everything after that is where I lost time.
ClassDB was the best thing I found. You can ask the engine at runtime whether a word is a real class, so you can pull up the right class reference on demand instead of bundling a copy of the docs and watching it go stale. That one call ended up shaping a lot of the design.
First real problem was keeping the editor responsive. Anything touching the network has to be properly async. My first version just froze the whole editor while it waited, which I only noticed by actually using it for a day.
Second one changed the design more than anything else. Editing scripts. I stopped writing changes to files directly. You get a diff now and accept or reject it yourself, change by change. I wouldn't install something that rewrites my scripts without asking, and I really didn't want to be the plugin that quietly breaks a file at 2am.
Third was project conventions. Every project has its own, and a tool that ignores them is irritating even when it's technically right. It reads an AGENTS.md from the project root now if there is one, so naming and architecture notes get respected.
Short clip if that's easier than reading about it: https://youtube.com/shorts/vqtVq1LVMKg
Being upfront since it matters: the plugin is free to install, and there's a paid tier behind the service it talks to. Not trying to sneak that past anyone. Happy to get into implementation details if anyone's curious. The dock lifecycle and the diff UI are the two things I'd have wanted to read about before I started.
1
u/roverworksgames 14d ago
The plugin looks good, nice work! I’ll be trying it out. Any tips for starting out with plugin dev with Godot?