I’m amazed this worked but I made a C++ subclass of IsAtLocation and this subclass is able to interrupt. I’m pretty sure it means it’s going to keep checking constantly though.
#pragma once
#include "BehaviorTree/Decorators/BTDecorator_IsAtLocation.h"
#include "RDBaseBTDecorator_RDIsAtLocation.generated.h"
/**
* A version of IsAtLocation that allows interruption of children.
* This will end up reevaluating often
*/
UCLASS()
class RDBASEFRAMEWORK_API URDBaseBTDecorator_RDIsAtLocation : public UBTDecorator_IsAtLocation
{
GENERATED_BODY()
URDBaseBTDecorator_RDIsAtLocation()
: Super()
{
bAllowAbortLowerPri = true;
bAllowAbortNone = true;
bAllowAbortChildNodes = true;
}
};