Unresolved externals extending UEnvQueryGenerator_SimpleGrid?

I’m having some issues at link time with a class that extends UEnvQueryGenerator_SimpleGrid. I’m not quite sure what’s wrong here, as I’ve had no other issues extending classes in AIModule.

Essentially I can make a new, empty class that extends UEnvQueryGenerator_SimpleGrid, and implement its constructor, but it’s failing to find base methods that are most definitely already implemented. Again, not sure what’s wrong here. Here’s a sample class:

UCLASS(meta=(DisplayName="Points: Wander Grid"))
class TWGAMEFRAMEWORK_API UTwEnvQueryGenerator_Wander : public UEnvQueryGenerator_SimpleGrid
{
	GENERATED_UCLASS_BODY()
};

If I implement the constructor, it will fail to link:

2>TwEnvQueryGenerator_Wander.cpp.obj : error LNK2019: unresolved external symbol "public: __cdecl UEnvQueryGenerator_SimpleGrid::UEnvQueryGenerator_SimpleGrid(class FObjectInitializer const &)" (??0UEnvQueryGenerator_SimpleGrid@@QEAA@AEBVFObjectInitializer@@@Z) referenced in function "public: __cdecl UTwEnvQueryGenerator_Wander::UTwEnvQueryGenerator_Wander(class FObjectInitializer const &)" (??0UTwEnvQueryGenerator_Wander@@QEAA@AEBVFObjectInitializer@@@Z)
2>dbsbuild : error : aborting build on error (1120)
2>TwEnvQueryGenerator_Wander.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UEnvQueryGenerator_SimpleGrid::GenerateItems(struct FEnvQueryInstance &)const " (?GenerateItems@UEnvQueryGenerator_SimpleGrid@@UEBAXAEAUFEnvQueryInstance@@@Z)
2>Module.TwGameFramework.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UEnvQueryGenerator_SimpleGrid::GenerateItems(struct FEnvQueryInstance &)const " (?GenerateItems@UEnvQueryGenerator_SimpleGrid@@UEBAXAEAUFEnvQueryInstance@@@Z)
2>TwEnvQueryGenerator_Wander.cpp.obj : error LNK2019: unresolved external symbol "public: virtual class FText __cdecl UEnvQueryGenerator_SimpleGrid::GetDescriptionTitle(void)const " (?GetDescriptionTitle@UEnvQueryGenerator_SimpleGrid@@UEBA?AVFText@@XZ) referenced in function "public: virtual class FText __cdecl UTwEnvQueryGenerator_Wander::GetDescriptionTitle(void)const " (?GetDescriptionTitle@UTwEnvQueryGenerator_Wander@@UEBA?AVFText@@XZ)
2>Module.TwGameFramework.gen.cpp.obj : error LNK2019: unresolved external symbol "private: static class UClass * __cdecl UEnvQueryGenerator_SimpleGrid::GetPrivateStaticClass(void)" (?GetPrivateStaticClass@UEnvQueryGenerator_SimpleGrid@@CAPEAVUClass@@XZ) referenced in function "public: static class UClass * __cdecl UEnvQueryGenerator_SimpleGrid::StaticClass(void)" (?StaticClass@UEnvQueryGenerator_SimpleGrid@@SAPEAVUClass@@XZ)
2>Module.TwGameFramework.gen.cpp.obj : error LNK2019: unresolved external symbol "public: __cdecl UEnvQueryGenerator_SimpleGrid::UEnvQueryGenerator_SimpleGrid(class FVTableHelper &)" (??0UEnvQueryGenerator_SimpleGrid@@QEAA@AEAVFVTableHelper@@@Z) referenced in function "public: __cdecl UTwEnvQueryGenerator_Wander::UTwEnvQueryGenerator_Wander(class FVTableHelper &)" (??0UTwEnvQueryGenerator_Wander@@QEAA@AEAVFVTableHelper@@@Z)
2>F:\UE4\Tripwire\TwFramework\Binaries\Win64\UE4Editor-TwGameFramework.dll : fatal error LNK1120: 5 unresolved externals

I have included AIModule in in the Build.cs configuration file (otherwise all my other AI subclasses would fail as well) but it still fails to link. Are EQS queries not exposed by default?

If anyone else is wondering about this, some of the front-facing classes like SimpleGrid are simply not exposed unless you compile in game mode. I simply implemented my own version of SimpleGrid query extending ProjectedPoints. Not sure why it’s done this way as I hate copypasting code that already exists, but there’s your solution.