"Observer aborts: Self" stops whole behavior tree

So I have a pretty simple AI logic.

  • Patrol until you find the player.
  • When the player is found chase him.

If AI perceptions notice the player it sets the value to a blackboard and clears it when the player is lost.
So AI should stop chasing the player when it’s lost and stop patroling when founds the player.

I’ve made a behavior tree:

But when the player is spotted by an AI character it completely stops. It just doesn’t execute the behavior tree.

I believe that if “NooneSpotted” is false then it should execute 3-4 node and check next condition. But it just stuck at the root node and can’t do anything.
I’ve tried to swap them. In this case, it doesn’t patrol at all but chases the player if spots him.

Maybe I just misunderstood something or skipped the necessary tick. If you need any extra information I will provide it.

I managed to fix this myself.
I just had to use the Selector node instead of Sequence.

Selector Nodes execute their children from left to right. They stop executing when one of their children succeeds. If a Selector’s child succeeds, the Selector succeeds. If all the Selector’s children fail, the Selector fails.

Sequence nodes execute their children from left to right. They stop executing when one of their children fails. If a child fails, then the Sequence fails. If all the Sequence’s children succeed, then the Sequence succeeds.