Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Best AI/Behaviour Tree Editor for Programmers

Discussion in 'Assets and Asset Store' started by maxxa05, Oct 24, 2014.

  1. maxxa05

    maxxa05

    Joined:
    Nov 17, 2012
    Posts:
    186
    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.

    Thanks!
     
  2. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,122
    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.
     
  3. maxxa05

    maxxa05

    Joined:
    Nov 17, 2012
    Posts:
    186
    Looks nice, I'll continue to look around, but so far your solution is ahead!
     
  4. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    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.

    You can learn more here if you'd like: www.nodecanvas.com

    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.
     
  5. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    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.
     
  6. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,288
    I have been using RAIN AI system lately and they have some cool Behavior trees that integrate with their AI as well, so it is a total solution.

    You can try that first since it is free and if it is not up to spec move to a dedicated solution i guess.
     
  7. ericbegue

    ericbegue

    Joined:
    May 31, 2013
    Posts:
    1,353
    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:

    http://www.pandabehaviour.com

    Also, you are welcome on this thread if you have any question or suggestion:

    http://forum.unity3d.com/threads/ai-scripting-panda-bt-behaviour-tree-scripting.388429