Selector Evaluator
The Selector Evaluator task reevaluates its children every tick and runs the highest-priority child that can remain running. If a higher-priority child becomes eligible, it interrupts the currently running lower-priority child. It returns success when a child succeeds. This behavior is similar to a conditional abort, but the children do not need to be conditional tasks.
Use Selector Evaluator
Add this task from the Composites list and connect its children in the order they should be considered. The composite controls which child runs next and derives its own status from those children.
Reconsidering the preferred branch
Selector Evaluator repeatedly reevaluates its children so that a higher-priority child can replace the branch that is currently running.

Order children from highest to lowest priority and begin each reactive branch with a clear availability check. In the runtime example the first branch has failed, so Chase Enemy is running. If the first branch becomes available during execution, Selector Evaluator can interrupt Chase and move back to that higher-priority choice. Use it when the branch order is fixed but availability changes. Use Priority Selector or Utility Selector when the order itself comes from calculated values.