I’ve been trying to make AI and i tried doing them both with a behavior tree and blueprints, and i find blueprints way easier and better for me. So my question is why use a behavior tree at all? Is there some performance related reason? Or do people just prefer the workflow?
Behavior trees are optimized for multiple ai it is just faster.
Also when you are making simple AI it is easier in blueprints, but with AI that has more complex behavior or you want some randomness, behavior trees are actually easier.
Hmm I would say it’s personal preference. I am creating a quite complex AI right now in blueprint only (including randomness) and it works perfectly fine for me, actually for me it’s much easier because I have better control over how things work.
I find Behavior Trees just an overly complicated workflow to be honest, for me blueprints are much more direct and efficient. But I guess for some people BehaviorTrees will be better.
I haven’t seen any performance impact really, it seems to be just as fast as Behavior Tree AI, although it could be in an intense testing. But I think it depends on how well you create your blueprints.
I did some testing. On basic AI that walked to randomly chosen destination, then to next and so on.
With blueprint AI (if i remember correctly) i could do 40-50 of those walking randomly.
Then using blackboard i could almost double it.
And up to 200-300 when i did blackboard without collision.
I also remember there was some hard coded limit (64 i think) of how many AIs could be run.
But all that was around 4.10 so few years ago.
I suggest you make very simple AI (like my walker ai) and test it yourself with new engine.