Both of these use just a Decorator to allow entering a “Run Behavior” node.
The 1. node is used for debugging and does nothing at the moment.
The 2. node is the normal behaviour of the Character and it simply roams around continuously.
When I spawn the Character, I set “ManusDei” to true in the Blackboard, and then run the Behavior Tree. I can confirm that “ManusDei” is set to true using a print.
Now, the expected behaviour would be that the leftmost node (ManusDei) would take the input since it is true.
But what is happening is that the “ManusDei” node is being ignored and instead the Character Behavior is being fired.
The character then moves to a random spot, finishes and only after that is the “ManusDei” fired.
The Decorator on the Left Node is being ignored and for some reason, the rightmost Node is being given priority.
I have set the “Observer Aborts” on both of the decorators to “Both”.
Is the character state set to relaxed in the last clip?. If not it would fail the condition on the right and go back to the top of the tree then starting off from the left => so the left node.
It will only leave once the loop condition is not met. (I guessed the relaxed state was the driving factor). Any external change to the state, for instance to “Alerted” would make the loop fail and re-walk the tree. Perhaps you want a different variable to trigger the exit from the state?