I am working on EQS with BT and most of it works fine except Parameters. One annoying thing about EQS is that only float, int, and bool parameters are supported by EQS and I cannot pass more type into it! I dived into the source code and find it almost impossible to extend it without changing the Engine source code.
More annoying thing is that Context doesn’t accept even ONE parameter! Generators and Tests provided in the source code, which uses context, FEnvQueryInstance and UEnvQueryManager uses TSubclassOf as properties or parameters. And contexts will be duplicated through CDO and cached in EnvQueryManager. The context execution result is also cached in each Query Instance which is for performance I know. One way to bypass it is to rewrite all Generators and Tests with EditInline Context and use it directly. And by the way, abstract class UEnvQueryContext is marked as EditInlineNew while all other classes in the EQS system use TSubclassOf. It is so weird.
Any suggestion or subsitution I can use instead of EQS?