How do you reset a behavior tree composite node?

If I have a sequence for example, but something happens that makes me want to re-run the logic from the start because of an interrupt, how would I do that?

I THOUGHT I could create a blackboard decorator that aborted itself on VALUE change (not results change) so that even if the state is reset to run this same branch (so the state is set from MoveToEnemy to MoveToEnemy for example), the decorator would reset the sequence. it doesn’t work so I’m clearly not understanding something or doing it wrong!

Here’s what I was trying -


Currently you can’t restart composite node directly, it would have to be another abort mode of decorator (as in: self - “abort and try next”, lower pri - “abort other and try entering”). It’s still possible, although you need additional selector on top with always failing task, something like this:

Condition on decorator doesn’t really matter, it must react to value change to initiate task search.

This is what I did but it’s horribly hacky. I just want a way to, well yes, reset a selector / sequence. surely that’s pretty basic functionality? (I just realized that sounded a bit bitchy, it really wasn’t meant that way :slight_smile: )