Behavior Designer or NodeCanvas?

Hello everyone. I´m currently working on a 2D game and did some research on behaviour trees for the AI, so i need to chose, Behavior Designer or Node Canvas, I already made a research on both of them and I can’t decide between those 2.

I know that both of them can be use for behaviour trees, node canvas offers FSM and Dialogue Trees, but i don’t care about those. It would be nice if someone can help chose between these 2.

I vote for behavior designer for the following reason:

I use it regularly - it’s good and the dev working on it is very responsive. Check the support forums to see and he will consider feature requests too.

I looked at both before and ended up choosing behavior designer.
Also it has more reviews.

I wouldn’t bother with any of the addon packs unless you are new to programming, you can implement all of them yourself pretty easily. It’s mainly the UI and framework for the BT you are after

NodeCanvas is excellent and well-supported. That said, I’ve never used Behaviour Designer so couldn’t comment on which is better.

I haven’t used either in a while but own both and have used both. Both are excellent and have top tier support(though this was a while ago), imo both will “get the job done” and it probably comes down to nitpicks. NodeCanvas has a far more professional looking UI(its truly something I appreciate), with Behaviour Designer looking a bit toy like but maybe more accessible to beginners. However BD is the more popular product so you might find that the community surrounding it might give it the edge. Personally NC would be my first choice, simply down to aesthetics.

I don’t think you can go wrong either way though.

Finally I’d say look over their documentation that’s online, you will likely be referring to it often so how its laid out and explained may be the deciding factor.

https://nodecanvas.paradoxnotion.com/documentation/

I also own both, but have used Behavior Designer significantly more than Node Canvas, of which I only spent time to evaluate it. What I liked about Behavior Designer was its workflow for authoring new custom Tasks. It’s quick, and fluid. It simply made sense. Support is really good, often getting a response within 24 hours (as of sometime last year for me), and in the early days, I had made some requests which were then introduced into the asset in the next version.

The only reason I am NOT using it is because Unity is required for it. You need to create a MonoBehaviour for the AIAgent, and I’m at a point in my game where I need something* that runs outside of Unity for running rapid test suites.

This is not to say Node Canvas doesn’t operate this way, it’s just been a long while since I evaluated it and I hadn’t looked back.

  • My requirements for my game changed over the course of the development, and now I use FluidBT (GitHub - ashblue/fluid-behavior-tree: Behavior trees for Unity3D projects. Written with a code driven approach on the builder pattern.). It doesn’t have a nice UI to author BTs, as BTs are created in C# instead. For some projects, this may be a no-go if BTs are significantly large and complicated enough to need that visualization, but after building the core of my AI with basic BT building blocks, I realized that a lot of my AI logic is going to be in Utility based decision making rather than behavior decision making, so the emphasis on Behavior Trees got significantly reduced. I would still use Behavior Designer if it ran outside of Unity though.

I did some more testing recently to answer some questions about performance.

Here are the results:
8311281--1090488--upload_2022-7-26_4-6-31.png

The tests were done using simple behavior trees that just sequenced endlessly between “Wait” and “Move To Random Spot”

Both have 0 runtime GC but Behavior Designer is significantly faster at runtime.

The editor for node canvas is way sleeker though and has a more modern interface so you may save a bunch of time when working in editor.

9 Likes

is it tested on built version or in editor? thanks for the research.