NVIDIA GameWorks Integration

Hey, not sure if is the best place to be asking about , but I downloaded the 4.15 VXGI branch, and it compiles fine and all in Visual Studio. However, I want to make an installed build so I can distribute it to my team and also avoid engine recompilation whenever I make changes to my game code. I can get the UAT build process to succeed (using BuildGraph), but the editor crashes instantly when trying to start, and does not show any error messages or crash reports.

I found a minidump that I was able to load up and ran through the call stack after attaching the debugger, and found that it’s from an assertion failure from attempting to load the VXGI dll–likely an invalid path. I followed some steps from a few pages back in thread about removing Win32-related linkage and such since VXGI is obviously not supported for Win32, which is likely what led to problem in the first place…for instance, particular function is where the assertion happens:


#if WITH_GFSDK_VXGI

#include "WindowsPlatformProcess.h"

static void* VXGIDLLHandle = 0;
static int32 VXGIDLLHandleRefCount = 0;
static FCriticalSection VXGILoadCS;

void FWindowsPlatformMisc::LoadVxgiModule()
{
	if (FPlatformAtomics::InterlockedIncrement(&VXGIDLLHandleRefCount) == 1)
	{
		VXGILoadCS.Lock();
		check(VXGIDLLHandle == 0);
		FString VXGIBinariesRoot = FPaths::EngineDir() / TEXT("Binaries/ThirdParty/GameWorks/VXGI/");
#if UE_BUILD_DEBUG
#if PLATFORM_64BITS
		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x64.dll"));
#else
		//FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x86.dll"));
		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGId_x64.dll"));
		//FString VXGIPath(VXGIBinariesRoot + TEXT(""));
#endif
#else
#if PLATFORM_64BITS
		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x64.dll"));
#else
		//FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x86.dll"));
		FString VXGIPath(VXGIBinariesRoot + TEXT("GFSDK_VXGI_x64.dll"));
		//FString VXGIPath(VXGIBinariesRoot + TEXT(""));
#endif
#endif
		VXGIDLLHandle = FPlatformProcess::GetDllHandle(*VXGIPath);
		check(VXGIDLLHandle);
		VXGILoadCS.Unlock();
	}
}

The thing is: I tried having the 64-bit dll load at all times (as can been seen in the code; the uncommented FString line. Initially, the empty quotes line was used) and it just produces the same problem. What exactly do I do ? I have tried so many things and have rebuilt the engine so many times and I am getting fatigued from waiting for 30-75 minutes for the process to finish each time. Has anyone had any luck making installed builds of the VXGI branch?