We demonstrated how to create AI that will patrol between waypoints you lay within the world. Then, if you ever get in sight of the AI, it will immediately begin to chase you. If you are within the attack range of AI, it will shoot its laser!
I believe each component has its strengths and that they create the most intelligent and responsive AI together. After creating AI without Behavior Tree, you start to wonder whether it's truly necessary to use. The problem dictates the solution, and when you use one solution for every problem, you don't solve anything. I find that using the strengths of Behavior Tree and other components to fill in the weakness results in the most promising behavior.
Using blueprint scripts outside of the tree in order to feed more information to the tree, you can overcome some obstacles of the execution flow within Behavior Trees. For example, if you told the AI to move to a location, you're unable to check for seen enemies during movement unless you use a service. Then, you have to ask whether this service will be useful to this branch specifically or to the tree as a whole.