I’m in the process of buying a behaviour tree editor for designing AIs in my game. I don’t care for tools aimed at beginners/non-programmers, I just want a clean behaviour tree designer that I can easily code nodes for. My main requirements:
Easy to code nodes
Ready for Unity 5
Doesn’t depend on ugly programming shortcuts to help beginners (Global Events that may trigger difficult-to-find bugs and whatnot)
Is not overly heavy (A behaviour tree shouldn’t be noticeably heavy at runtime, really)
Optional: could be used for some complex scene behaviour, a bit like playmaker.
I looked at Behaviour Designer, Behave, Behaviour Machine, Rain Ai, etc. I’m a bit lost, so I thought I’d ask here.
I am the developer of Behavior Designer so I am naturally biased, but looking at your requirements:
Easy to code nodes
The task API in Behavior Designer is very similar to the MonoBehaviour class so you should be right at home with this one. Here is an example of writing a conditional task and here is an example of an action task
Ready for Unity 5
I have ran Behavior Designer in Unity 5 and it works well. I haven’t created any new Unity 5 tasks yet but will when Unity 5 is released
Doesn’t depend on ugly programming shortcuts to help beginners
Similar to the task API, the rest of the Behavior Designer API is very clean
Is not overly heavy No problem. Once the tree has been initialized Behavior Designer does not make any more allocations.
Optional: could be used for some complex scene behaviour, a bit like playmaker.
The editor is very similar to PlayMaker so if you’ve used that you’ll be right at home with Behavior Designer. In addition, it integrates with PlayMaker so the two assets can communicate with each other.
Hello,
You might want to take a look at NodeCanvas (which I am the author).
Easy to code nodes
Creating new tasks is very easy and similar to Playmaker’s way. There are a lot of extra attributes to enhance your task creation. You can even implement your actions and conditions in your own MonoBehaviour classes and interface with them through Script Control tasks, thus without the need to learn any new task creation API if you don’t feel so about it.
Unity 5
The new submited version works with Unity 5. It was a matter of changing 2 things.
No ugly programming
The API is very clean (as you can also read in the reviews) and declarative. NodeCanvas is not a magic visual script game maker since I don’t believe it such stuff. All begginer help is given through the editor UI rather than through possibly ugly code.
Performance
NodeCanvas is rather fast as you can see from the profiler comparison images I PMed you.
Scene behaviour like playmaker
Absolutely. You can control any number of ‘agents’ through a single behaviour tree instead of just one and you can use global blackboard variables to exchange data between different agents. NodeCanvas also has a complete FSM system module so depending on the situation you might want to use Behaviour Trees or FSMs, or seamlesly use them both even nested within one another. On top of that there is also two-fold Playmaker integration if Playmaker is your thing.
I would also like to suggest another option instead of only mine because it’s an obscured behaviour tree asset: RueFW
Haven’t used it, but I just suggested it for you since it’s hard to come by.
From my user point of view, I tested most of them, Behaviour designer and/or AI states from zerano they work together.
Its a pleasure to write states and have clear AI trees, both have event like enter state, every frame on condition etc so you can optimize the states you write.
they both have support and constant update, zerano support most of all the famous assets you could use.
opsive have complexe but simple to use movement schemes for you AI.
This thread is a bit old but you might be interested by Panda BT.
It’s a script-based Behaviour Tree engine. It is therefore fully programmer friendly. Using this tool, you define your tasks as simple C# methods, then you use them as building blocks from write BT scripts. A BT script is a text file describing your behaviour tree using a minimalist language. Yet, at runtime, you can visualize the execution of tree which give insight about what you AI is currently doing.
Here is a screenshot of the Panda Behaviour component running a BT script:
You can have more information about Panda BT on the website: