No announcement yet.

What are the benefits of using Behaviour Trees vs regular Blueprints?

  • Filter
  • Time
  • Show
Clear All
new posts

    What are the benefits of using Behaviour Trees vs regular Blueprints?

    Hi there!

    I admit that I do not know Behaviour Trees well (yet), but reading over the documentation on the Unreal Engine website, it does not seem to be much more than a different way, not nescessarily better, than regular old Blueprint. Yes it presents the logic in a different way, with different concepts like Services and Decorators, but ultimately these just determine what Blueprint code to run when - logic that can be implemented quite easily in Blueprint itself.

    That is my perception; so my question is, am I wrong? Are behaviour trees basically just a mechanism for seperation of AI logic out of Blueprints and with a new way of doing some logic (behaviour selection), or is there more to it than that? I suspect there is


    Check out my unique game currently under development, A City of Crime:

    There is tool for every task. Behavior trees, animation blueprints all use finite state machines.
    One can say that FSM is just different way of making function calls, and yes it is just that (or much more if you look at theory side of it).
    Behavior trees are made for scripting AI and bots. Using them for anything else is more complicated than it is worth.

    They are much less heavy on resources, have some built in balancing functions (for eg. when you trigger event not every single one bot out of 300 will react to it), they will just queue. As result you will not get lag spike. In blueprints you would need to code it all yourself. So BTs are tool for enemy ai, if you want complicate AI you should mix several BTs with regular blueprints etc. Oh and don't forget to look into EQS, because that together with BTs shows real power behind AI system. BTs alone are confusing tool that does not add much.

    Also since you are digging in BT, i guess you wanted to do something, but BTs turned out to be quite specialized tool.
    In such case look at GCFSM plugin, it uses standard FSM from unreal but handles them all in really nice way.
    For long time i wanted to use FSM but unreal implementation (on top level) was not quite flexible. This plugin lets me play with state machines.
    And I love changing everything i can into FSM.

    Last edited by Nawrot; 01-04-2019, 05:11 AM.