- Editor starts.
PrintHelloBPis executed.TargetActoris successfully found (e.g.,BP_Player).- The
HasTargetdecorator allows the node to execute. - The
MoveTotask inside theHasTargetsequence finishes, and then the followingWaitnode begins. - During the wait (about 2 seconds in),
TargetActorbecomesnullptr. - However, the
Wait (5s)still completes (because the decorator uses “Observer Aborts: Lower Priority”).
Expected behavior:
Since the HasTarget decorator uses “Lower Priority”, I expected all the subsequent nodes in the same Sequence — including PrintByeBP — to be skipped, and for the tree to restart from the top (starting from PrintHelloBP again).
Actual behavior:
The top-level Sequence continues executing after the Selector, and the next node (PrintByeBP) runs as usual. “Bye” is printed.
Question:
So, is this the expected behavior?
My guess is that the Selector returns success, which allows the rest of the Sequence to continue. The sequence that had the HasTarget decorator finishes (because Wait completes), and thus the entire Selector is considered successful.
But I expected that since the HasTarget decorator uses “Lower Priority”, all the nodes under that part of the tree (with the blue border) would be aborted and skipped once TargetActor becomes nullptr.
Did I miss something here?
