Behaviour Designer vs Node Canvas

Hello people, its time for me to choose a behaviour tree editor from the asset store, i read quite a bit and it seems i can’t decide between those 2.
It would be nice if someone who have a bit of experience with both could make a comparison, not just a feature list (that can be found on the site of the developers of the assets).
I see that in the past this question has been already asked, but there isn’t really a clear answer, not updated anyway.

Thanks a lot to everyone who can spend 2 minutes on this!

That’s a bit tough, both are great but i would have to lean towards node canvas. You can clearly see the the features the two offer yourself, so the main reason was the types of plugins node canvas has and I found it a bit more easy for me. What type of game are you planning on making, and what is your skill level (coder,artist, designer, etc)?

If you plan to or are already using any other Opsive products such as UFPS or their Third Person Controller, go with Behavior Designer as it integrates directly into them.

exactly

I baught Node Canvas, still is seems very good, beware it lacks video tutorials.
The only two of three videos examples i found was in russian.

nodecanvas : you can mix state machine with behaviour trees also sub statemachine and sub fsm
behaviour designer: lot of integration and side add on like AI packs

Thanks a lot for the answers guys, i’m a coder and the project i’m working on is an fps and i was tempted to try one of thoseto integrate AI in the game. i already own Behaviour Designer, so i think i’ll stick with it, i just wanted to know if one of the two is WAY better than the other, i’m not a fan of changing my tools in the middle of a project :slight_smile:

I too am looking at a behaviour tree asset and currently I am using RAIN in my FPS project. I am interested in BD and would like to know your thoughts on it?

I already own UFPS and really am impressed by the product and Opsive’s work. I am also considering their third person controller asset.

I am a beginner with RAIN and choose it because it’s free and has an animation component to it. I need a tool that will allow me to have my enemy creature follow a waypoint path and attack the player when detected. RAIN seems to be good for this purpose but this is the first time I am using it and it seems to have a steep learning curve and the official tutorials are not very clear.

Will BD be a good alternative to RAIN? I ask because I don’t want to invest too much time learning it if BD will be a better choice. I understand that BD doesn’t directly use/support animations as RAIN does? That is a feature that I would like to have in my next asset.

Thanks for any advice.

Behavior Designer dev here. I’ve been watching this thread and was planning on staying out of it to allow for genuine opinions but I’m popping in to answer @CaptCanada 's questions.

RAIN does a lot more than just behavior trees - this is both an advantage as well as a drawback. The advantage is that it does a lot so you have a similar workflow for what it does do. The disadvantage is that if you don’t like the way it does something then it’s tough to change it (especially without access to the source). With that said, it is free so it doesn’t hurt to try it and see if it fits your needs.

Behavior Designer is a dedicated behavior tree implementation so it is not an animation framework. It does contain tasks which allow you to play or manage the Animator (such as Animator.Play or Animator.SetFloat), but these tasks pretty much just mimic the Unity API.

You mentioned that you’re also considering the Third Person Controller, and this is an animation framework. With Behavior Designer and the Third Person Controller you can for example use the Seek task and your character will move from one position to another with full root motion animations. This is without you having to control the Animator directly inside the behavior tree (which I don’t recommend - it makes the behavior tree a lot more verbose than it needs to be). MecWarriors used to be a great resource for an overview on how this is done but the site is currently down - here is a cached version of the page.

Wow, thanks for the reply! I am surprised, but happily so, to hear from an actual dev member.

If I understand you correctly, I would still have to use the Unity animation framework? So, BD wouldn’t control the change in animation states directly? BD would just be used to create the behavior tree and I would have to somehow link the required animation to the tree behavior?

I apologize for the questions if they are unclear and not using the proper Unity symantics. I am not very familiar with the Unity Animatior Controller/Animation framework and this is partly why I chose RAIN as some of the videos and tutorials I’ve seen show it being able to play animations directly, but as I am finding out now, as I am learning it now as I edit this, it is somewhat hard to grasp.

Thanks once again.

Without the Third Person Controller integration, that is correct. Behavior Designer contains tasks which allow you to manipulate the Animator Controller, which would allow you to change the states within the behavior tree, but in general I recommend avoiding this because it makes the behavior tree unnecessarily verbose. You can get better results by doing something similar to that MecWarriors article.

I recently switched from RAIN to BehaviorDesigner and I’m really glad I did. RAIN overcomplicated lots of things that should have been simple and required lots of added components and objects with their weird UI that I found annoying. Half of it is split into “Sentio” which is no longer fully compatible with base RAIN and it looks like both projects might now be abandoned. BD feels like it fits more easily into Unity and is much easier to integrate and extend; plus the dev is still around, as you can see.

1 Like