Is a behvavior tree supposed to success all the way back to the root after each branch?

My Behavior tree "successes all the way up to the root after completing a branch. In example, after each Idle sequence (Find random location + wait) I return to the root node and then head back down. While it’s not a problem here, It becomes a problem further down the tree at “Play Enemy Found Animation” This animation will play far more often than I intend it to due to the tree navigating down from the root after every subbranch completion. This seems like a huge limitation and leads me to believe I am doing something wrong.

By default BT Selectors will finish successfully with the very first successful child, and Sequences will finish successfully if all its children finish with success. This is by design. If you want to have parts of tree loop a number of times (or forever) you need to use “Loop” decorator. If you do that, however, you might want to place observing decorators higher up in the tree (decorators with Observer Aborts set to anything else than None). You’ll need that to ensure your AI’s reactiveness.

Cheers,

–mieszko