How to implement interrupts in a behavior tree

So the answer to this is to mark the decorators at 3. to abort their current sub-tree when the condition they are watching changes.

Like this:

24818-capture.png

This way when the Service changes the value of the state, the decorator will re-evaluate and fail. This is actually a really nice pattern because it means you only re-run what you need to.