I have an issue with my EQS query which doesn’t get utilized properly, the scenario is as follows;
I created an AI that is able to eat other Dead AIs when his health is lower than 50 percent ( basically when they Die In their death-handler function I set a gameplay tag for the one who dies as a food source ) and then within my EQS which searches for actor class of type “AI” I use a “Gameplay tag test” to distinguish between dead AIs who have food source tag and alive ones and then I use a " Distance to the querier" to find the closest dead AI, next In the behavior tree after setting this EQS I use a “Move to” task to go to that nearest dead AI.
Problems are these;
- when I debug the EQS I see the debugger on alive AIs too.
- when his health gets lower than 50 percent he just doesn’t move to that nearest dead AI.
- generally, the EQS doesn’t work properly.
From your image, I don’t see an “is dead” Gameplay tag, so the AI will look for anything that’s food, whether it’s alive or dead.
apologies for the late response, I was busy with my university exams.
I have decided to simplify It by getting rid of downed AIs and just created an actor(food source) that has a gameplay tag variable that I can edit for each actor individually, for the test there are only two gameplay tags (food, not food).
The EQS is pretty much similar to the previous one only difference is now It’s looking for the closest food source which has a food gameplay tag.
still, the problem exists and the AI goes after all of them whether they have food tags or not
Hi, those actors your EQS generator is producing (e. g. your food source actor) do implement the IGameplayTagAssetInterface in C++, right? Cause you need to implement that interface in C++ for those actors where you want to use the gameplay tag test on (AFAIK not possible to do this with blueprint only). Because the EQS gameplay tag test uses that interface to access the gameplay tags.
Unfortunately, I didn’t implement It in C++, during this period I have been working with UE4 I’ve only used Blueprints, and the way I use tags is to set them in Gameplay tag settings through project settings and then in my actor, I set a variable of type Gameplay tag.
is there any document or tutorial specifically on this topic I can use? since I haven’t worked with C++
is there any document or tutorial specifically on this topic I can use?
My second post here Blueprint - EQS and Gameplay Tags - I need help! - #4 by chrudimer and the post afterwards
And this here to setup visual studio for unreal Setting Up Visual Studio for Unreal Engine | Unreal Engine Documentation
and the way I use tags is to set them in Gameplay tag settings through project settings and then in my actor
That’s fine, you just need to implement the interface in your actor.
Thank you for helping me, I’m so appreciated.