Well,
You don’t have to use the Behavior Tree. The Strategy Game example has C++ AI that is not using the Behavior Tree. Or it used to, I haven’t checked it in more than a year.
My cat game no longer uses Behavior Tree’s, I made my own system in C++. But, in another project that has many types of different NPC’s I do use Behavior Tree’s.
My advice to you is, if you are going to use Behavior Tree’s, do them in Blueprints. You can make your individual tasks or services in C++ if you need to optimize it, but I’d prototype it first in Blueprints only, then when something proved to be a performance issue, then optimize it. From the Editor when making a new C++ class you can choose the Service or Task as it’s parent ( forgetting their exact names right now ).
I have some blog posts on UE4 gameplay C++ here. http://www.-.com but, I’m so busy with my job and 2 Indie games that I make that I have not been updating it much with new posts. There is one on there about a Utility System in C++, but it’s not complete.