My goal is to have a turret attack an enemy while its in range. I have a BT with an EQS query that gets the closest actor to the turret but when the actor leaves the turret’s range the EQS query doesn’t set the blackboard object to null (meaning the actor is out of range). How can i accomplish this?
I’ve had the same question for a few weeks. I’m not comfortable enough to go and change the C++ class for the EQS task/service.
I am running an EQS as a service. I tried a bunch of different solutions for this, but ultimately, I created another service that runs alongside the EQS. It checks the object in the Blackboard key against the same criteria as the EQS and clears the key.
(I am checking for range and visibility, but only if the key is filled)
So I would like to echo your question, since it seems highly inefficient to do it this way. It essentially equates to running the EQS again manually.
In the meantime, this should work as a quick fix.
I ended up doing the same i have a service that checks the range and sets the blackboard to null if its out of range