How to run EQS for the player?

Hi! I want my player to run EQS queries as well, to know enemies positions and e.t.c So I create Behavior Tree specially for the player, his own blackboard, and ESQ.

But, if I want to run Behavior Tree now, blueprint is not compiling, it asks for AIController, not Character Controller. But players is possesed with Character Controller, obviously.

Any solution to this?

Or, should I actually use Perception for player? Are there any drawbacks, perception vs eqs? Like, performance?

I don’t think you’d do that for a player. Why can’t you just get the enemies position through the character blueprints? I can’t think of a reason to use EQS for that.

You know you can find them by class, or even by a tag you’ve applied. To find their location, just use “get actor location”. You can do line traces or sphere traces to check for line of sight etc between any actors.

Got it! I just thoughtm that maybe EQS uses some optimized trace routines behind the scene, so wanted to try if firstly. Probably, wasn’t the best idea after all.

Hm, what are you using the locations for though? What are you trying to do? If its an actor that both players or ai can control you can just run behavior trees and eqs if a ai possesses the actor. If you’re having any trouble replacing the eqs just ask. :slight_smile:

No, its FPS player, always under player control. So I ended up using AI Perception for the player, and EQS for the enemy AI. Its just that docs are very lacking, my first idea was ‘OMG EQS are so new tech, maybe they are 10000 faster then perception and my own code’, but probably not, so I will restrain my urge to use them everywhere :slight_smile: Maybe later I’ll profile everything to compare, seems like I am not going to find easy reply :slight_smile: