Create interactive docks (plugins)?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By PugMasterPug

I am not going to be able to access my computer in a while (I don’t have access right now), and I was thinking about creating a custom plugin to make it easier to develop branching conversations and such, the details aren’t important, but I need to make a dock where you can move around nodes, I can make a script to handle that, but I don’t know if that will work when I add the dock. Will it work? Is there anything I can do to make it work?

Thanks in advance.

:bust_in_silhouette: Reply From: Zylann

The Godot editor is made using Godot itself.
That means, if you can create your dialog editor using Godot’s UI as a game prototype, then you can put this in a dock of the editor using an editor plugin (see Making Plugins — Godot Engine (3.0) documentation in English)

To prototype this easily I would do just that. Create a new scene with a Control as its root. Assume that root will be the space your dock will fit in the editor.
Then make your tool using GUI inside this control. You can use the same nodes as you use in a game, and test it by playing the same, as usual.
Then, when you have something working, add the tool keyword on your scripts so that they will be able to run in the editor. Next, make a new EditorPlugin, and add your scene as a custom dock (as described in the doc). The editor will then simply fit your Control into a dock, and voila :slight_smile:

There are (many) other gotchas, but I’ll leave them for you to experiment and find them out as you progress.