Download

UNREAL UE4 - Wich option is best for creating AI enemies? Behaviour Trees or Blueprint logic?

Hi, i created an AI enemy, it uses a Behaviour Tree and i worked it around the best i could to avoid each task and service to have too many information about current AI character, like castings, etc to easily copy-paste BTrees, Tasks and Services for fast creation of several enemies in the future (duplicates).

My big problem is that even do i made this BT the cleanest way posible, there is lots of hidden isues when trying to copy-paste BTrees, tasks and services… for example: duplicated BTs some times cant recognice the new tasks directories, original BTs can also lost some task locations too, some duplicated tasks cant really be… duplicated even if they look like they did, they act like childs or mirrors, very weird… and ultimately… it still takes days to customize each task, service, BT, Controller, decorator, replicate variables and edit the new BP enemy.

Then i wonder, if avoiding making Behaviour Trees and make behaviours inside each enemy type could be a better idea for efficiency… bTs all they do its communicate between blueprints (tasks and services), the “Tree” concept could easily be done by using branches, switchers and variables, so why not just make the AI behaviours inside each enemy BP? even tasks could work as functions, and it will be easier to duplicate each enemy type and create a new one by just change mesh, animationBP, controller and avoid having to deal with each task, service, BT, etc… also with BT tasks you might need to create several new ticks per enemy, when you could just have 1 in the BP.

What do you think? what has worked better for you?

I prefer behaviour threes logic but i’ve see awesome advanced ai created with blueprint logic, anyway with BT what I can actually do is pretty limited to my knowledge on AI (I can make an ai move and melee attack and also patrol, but nothing more)

i really want to learn some advanced stuff and i’m not sure if BT will be the answer right now for me, probably I can have better result with blueprint logic, who know?

You can write ai in BP, c++, or Behavior Trees. For simple needs, prototyping in BP works great. Just be sure to avoid doing anything time consuming every tick.

Your post reminded me of a old blog article I wrote and forgot to publish…
so I just went and published it, if you are interested : https://www.casualdistractiongames.c…3/Blueprint-AI

BTW - I also wrote a basic overview of Behavior Trees https://www.casualdistractiongames.c…Behavior-Trees

Good luck!