Getting custom BTDecorator to re-evaluate

I’ve set up a behavior tree for a Character that looks for other Actors in range and chases after them until they get too far from my starting position, then they return to where they started (it’s a bit more complicated than that, but that’s the part I’m currently working on). I have a custom decorator on my MoveTo task that does the distance check but I can’t get it to re-evaluate once it starts moving so my Character ends up chasing its target across the whole map.

I have the decorator ticking but I’m not sure what to do at this point, I can call CalculateRawConditionValue but I’m not sure what to do with the result. I’ve looked at the functions I can call on the decorator and on the BehaviorTreeComponent but nothing stands out as doing what I want.

I took a look at how BTDecorator_BlueprintBase does things since I realized that Blueprint decorators re-evaluate everything like I want my C++ decorator to. In TickNode you just call CalculateRawConditionValue (or however you want to decide if the task needs to be aborted once you’ve started it) and if that returns false just call RequestExecution(this) on the BehaviorTreeComponent.