Download

EQS fubar functions that provide context in 4.11.2

I think something is quite messed up in blueprints that provide context for queries.
Those 4 functions that you can override and are providing actor, location or arrays of those.
They work only first time. Ie if i create that function set everything provide correct return value. Everything works fine.

But after editing or changing return value in any way it stops working.
For eg first i get all actors of class_A compile, test eqs everything works.
But now i want all actors of Class_B (which is real pawn not some static test actor like Class_A is)
So when i get that other actors EQS stops working.
Result in both cases is array of actor references, but something got broken by me changing type of get all actors of class node.
And this is unfixable (does not work after changing it back), only solution is to make new blueprint that provides actors for EQS.

Same goes if i delete one providing function and try to make new one (for eg instead of providing actor reference idecide to provide location)
Function stops delivering any results (or maybe Query does not read correct values, and keeps reading old ones that are no longer provided)

Another problem in those functions and queries is that there is no check if i implemented correct function to provide context.
So it is possible to place context provider with vector result as parameter for test that wants array of actor references.
Would be great if i could implement all functions in single blueprint, and EQS would get vector results where it needs vectors and actor reference where it wants that.

Last problem is that something in level (probably in test pawn) is keeping references to all those provider blueprints. Even if i delete test pawn from level or change its used EQS there is something still keeping references.

My friend just said this is due to internal crash that does not give exceptions. Custom EnvQueryContext function stops working after and recompiling or changes done to it. Fix for it is restarting whole editor.

this worked before i recompiled:

18cdb5745aa4ff7993643e54caf996eeb968fe1f.jpeg

Array(16).join(“lol” - 2) + " Batman!";