Running Unreal Editor on Hyper-V VM

I’ve spent some time trying to run Unreal Edtitor on HyperV virtual machine. And I found a solution. Editor is working as fast as it would be working on normal non-virtualized PC (well, almost :wink: )

Why HyperV?
This is the only Hypervisor I know about supporting hardware acceleration AND easy enough to install and setup for Windows user.

Yes, I know about KVM and gpu/pci pass-trough. But I’m not experienced enough with Linux to make it work.

Host OS:
You will need latest Microsoft Windows (windows server 2016 or windows 10 pro as a host). Windows 2012r2 might also work, but I didn’t test it. According to this article it’s better to use win2016 or win10 :slight_smile:

Guest OS:
According to documentation it has to be Enterprise version of Windows starting windows 7 SP1. I’ve tested setup with windows 10 enterprise only as a guest VM.

According to the documentation, following graphics card supported:
ATI/AMD’s FirePro, v5800, v5900, v7800, v7900, v8800, v9800, and Nvidia’s Quadro 2000, 3800, 4000, 4800, 5000, 5800, 6000, Quadro FX 2800M and 880M, QuadroPlex 7000 and Tesla M2070Q

But I’ve tried setup with Nvidia GT730, Nvidia GTX760 and radeon 6950. Everything work perfectly.
I assume it supports consumer graphics cards corresponding to professional cards generations listed above.

How to setup:

  1. Create a HyperV virtual machine: Create Virtual Machines | Microsoft Docs
  2. Add RemoteFX video adapter: Configure a RemoteFX 3D Video Adapter | Microsoft Docs
  3. Install guest operating system
  4. Unreal engine does not know microsoft VM can handle it. You need to add r.GraphicsAdapter = 0 into Engine\Config\ConsoleVariables.ini. It will use first available hardware accelerator (even if it is a microsoft GPU).

That’s it. If you had any experience with setting up VMs you should not have any issues with running unreal on HyperV.

Ok, it was not that smooth as I’ve expected. The skeleton character is completely broken on VM. I’m assuming it happens because of the shader compilation output. It’s probably different from what UE expecting. See screenshot attached:8064f8a09f8b6d49de145cf8b4abc50029c6f89f.jpeg

Finally a solution! I was looking for this for a while now. Thanks. Performance through Hyper-v isn’t perfect but it gets the job done. Working from an HP EliteBook with Intel graphics gen 7 chip by the way.