Running UE4 with -d3d10 or -opengl3 on a virtual machine (VMs)

To test online functionality quickly I tried packaging the game for a win64 virtual machine hosted on VMware, which supports up to d3d10. I ran the build with the -d3d10 or -dx10 args, however the following error appears:

Assertion failed: Resource [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11UniformBuffer.cpp] [Line: 257]
ue4 Invalid resource entry creating uniform buffer

Sadly, running a linux build with the -opengl3 tag also produces an error:

... GlobalShaderCache-GLSL_150.bin is missing (or something similar)

It seems the latest driver - as of now - doesn’t support the default opengl version, which is currently 4.3 - I believe.

Running ue4 builds on virtual machines seems to be quite the challenge. I am hoping someone has a good solution to this problem.

By the way, I don’t have proper GPU pass through, as it is quite complicated to set up. I’ve opted for the Hardware Acceleration feature in VMware, which claims to support up to dx10.


PS I’ve seen these errors come up in multiple posts, but they lack proper discussions, let alone, answers. This is definitely not a duplicate, as the posts with answers claim this issue was “solved”, which might not be the case.

Did you try to run the build with -d3d10 on your host OS?
I have the same issue with 4.22, but it works with 4.21.
It also works with 4.21 on VM (vmware win7 64 guest)

You have to enable Share Material Shader Code in the Packing settings :slight_smile: