How to get EQS to return an actor instead of a location?

I have a very simple query. I just want to know if there is a nearby visible cube.

It seems to work fine in tests. But I need it to return a reference to the actor instead of the location of it because I need to do other types of checks that it is not possible to do using EQS.

I was looking for an example to do this but I couldn’t find any.

I found this:

But I don’t see the way to use it neither in the EQS nor in the behavior tree.

Do you know how to do it?

Thank you so much!!

Ok, I found the way (or a way).

i did it like this (using a service):

And the EQS is like this:

solution2

if you know other way (or easier way to do this, please, let me know).

Thank you so much!!

2 Likes

Hi @Ivan3z.

I have a similar problem, but I haven’t been able to get your solution to work for me. I’m working on a simulation of passengers flow into a terminal, that must find the nearest available counter on the terminal and go there, and if this one is taken, go to the second one.

Any idea or advice?

Thank you so much.

Hi Alejo

You have a Spanish Name (and Surname)… So, i guess you speak spanish then. I going to answer you in spanish because for me is most comfortable too. If i’m wrong just use google translate.

Let’s go then:

Por lo que dices me imagino algo así como un aeropuerto.

Ok… Yo haría algo así.

1-Crea un generador personalizado (UEnvQueryGenerator)

2-A cada terminal le daría un propiedad. Por ejemplo un booleano para saber si está ocupado o no ocupado.

3-Luego generas todos los actores de tipo “Terminal”.

4-Los filtras, desechando los que estén ocupados.

5-Los almacenas en un array y los retornas como resultado.

6-Ahora puedes usar ese resultado en un EQS para aplicar mas filtros (Distancia, visibilidad ect…).

-Eso debería ser suficiente.

-Ahora mismo no recuerdo si los pasos del 1 hasta el 5 los puedes hacer con Blueprints o debes hacerlo en C++, porque yo pase todos mis códigos a C++.

Si no puedes hacerlo con Blueprints visita esta página. Yo la estuve usando para aprender a hacerlo en C++.

Saludos!!

Iván, muchísimas gracias por tu generosidad, y efectivamente acertaste, soy de Colombia. Mañana en la tarde, cuando vuelva a revisar el proyecto, voy a tratar de seguir todos tus pasos. No manejo C++ así que intentaré con BP y si algo falla, te molesto nuevamente.

Un abrazo!