Visual Behaviour Tree Designer

Title! In the process of making a game, I decided to use behaviour trees for AI. Sad thing is that there is no plugin for that, as the existing ones use nodes for design. So i made my own. What are some features you would like to see? Things like blackboards and custom behaviour nodes are already backed in. Also, it is written in C#. Will the plugin work with non-Mono editors, or did i just gatekeep the plugin?

1 Like

Why would you not want to use existing ones that uses nodes? Is there any usability problem with using nodes for behaviour trees?

Faster design/iterations, more readable (at least for me) and most other people that come from Unreal/Unity are already familiar with that kind of approach. The implementation itself is framework agnostic, just the editor/ui is made for Godot

Instead of starting from scratch maybe you could just try to contribute to an existing node based system. In my opinion the visual editor and the node based tree approach can go hand in hand. Basically you just need a graphical interface which could then spawn the nodes based on the graphics.

E.g. my favourite behaviour tree plugin beehave already has some graph visualisations and is unit tested

The result could be a system which provides both solutions. And as the core logic is the same, future contributions will also serve both approaches.

I’m only used to the node based approach. But I can imagine that it could be more easy to rearrange the tree logic within a graphical editor.

Of course if that kind of contribution is not wished by the project you could still develop your own fork :slight_smile:


I actually like this approach. It will be the best of both worlds to be able to choose between using nodes or doing everything in script.
The only thing is that, I don’t think Beehave is written in C#

Yes beehave is written in gdscript.

Also to answer op’s question: Developing the plugin with c# will indeed exclude the non c# editor as far as I know.

I don’t now about the mono and .Net compatibility as I’m not that much involved in c#^^.

But gdscript works in all editors. So in my opinion this is the recommended way to go for a community plugin.

Thanks for the replies. I initially thought of just extending Beehave with a visual editor, but I find it much easier and faster to do stuff from scratch, and I haven’t learned gdscript. Since i work with c# for my actual work, I figured I should go that way. Good thing is, thst the implementation, the editor, the debugger, and the resources all are seperated and connected with adapters. So they can be ported one by one, and interfaced with other plugins like Beehave easily. Once finished, i will publish it, and then maybe someone can port it over if i dont do that myself first!