We are using the Run Behavior blueprint node to start a behavior tree in the AIController and that is working great, but I don’t see a way to stop a behavior tree from running using blueprints. I also don’t see a way to change the behavior tree that is running. I tried just calling RunBehavior and setting it to None, but it has no effect. Also, I tried calling Run Behavior with another behavior tree, but it ended up running both at the same time instead of changing the behavior tree. It was quite strange.
What we want to do is have a few different behavior trees and change them on the AIController based on what job the AIController should be doing. Is this not a good method? Should we instead create one huge Behavior Tree that tries to handle all possible jobs?
I found the following function in the C++ source file BehaviorTreeComponent.cpp: UBehaviorTreeComponent::StopTree(). If I expose this method to blueprints via C++, do you think it will do what I want?