Environment Setup:

Local Development (Windows 10)

Configure a local Windows 10 development environment.

Here's what you'll need:

  • 64-bit Windows 10 Pro, Enterprise, or Education (Version 1607 or newer)
  • Hardware-accelerated virtualisation enabled in the system BIOS/EFI
  • Docker Desktop for Windows

Contents

Blacklisted versions of Windows 10

Do not use Windows 10 version 1903 or Windows 10 version 1909 to build Windows container images with Docker version 19.03.5 or older. There is a known bug in Windows Server versions 1903 and 1909 and Windows 10 versions 1903 and 1909 that prevents Docker from building images larger than the default limit of 20GB. A workaround for this bug was introduced in Docker version 19.03.6.

Optimal performance warning for Windows containers

Do not use Windows 10 version 1803 or older, or Windows 10 version 21H1, to build Windows container images.

If you are using Windows 10 to build and run Windows containers then Docker Desktop for Windows will use Hyper-V isolation mode by default, which suffers from a number of performance and stability issues that make it poorly suited for use with Unreal Engine containers. If you are running Windows 10 version 1809 or newer then it is strongly recommended that you instruct Docker to use process isolation mode instead, but process isolation mode is not supported by Windows 10 version 21H1 due to a lack of corresponding base images. If you are running an older version of Windows 10 that does not support this feature then it is recommended that you update to Windows 10 version 1809, 2004 or 20H2, or alternatively use Windows Server to build and run Windows containers in process isolation mode.

Installing Docker

Download the Docker Desktop for Windows installer and follow the installation instructions. Once the application is installed and running it will automatically create Hyper-V virtual machines suitable for running both Windows containers and Linux containers. Unless you have enabled support for the experimental Linux containers on Windows (LCOW) feature, the two container platforms are treated as separate “modes” that Docker Desktop for Windows can switch between. The default mode after installation is Linux container mode.

Configuring Docker for building and running Windows containers

Remember to switch to Windows containers mode before following these instructions.

By default, Docker Desktop for Windows imposes a 20GB size limit on container images, which is too low for building and running Unreal Engine containers. You will need to increase the maximum container disk size to the recommended limit of 300GB by following the instructions below.

Step 1: Right-click on the Docker Desktop system tray icon and choose “Settings” from the context menu to open the Docker Desktop settings dialog.

Step 2: Click on the “Docker Engine” tab of the settings dialog to view the Docker daemon’s current JSON configuration data.

Step 3: Add the top-level storage-opts entry to any existing JSON configuration data:

{
  "storage-opts": [
    "size=300GB"
  ]
}

Step 4: Click the “Apply & Restart” button to apply the changes and restart the Docker daemon.

Configuring Docker for building and running Linux containers

By default, Docker Desktop for Windows will use a Linux virtual machine running the Moby VM image to run the Docker daemon. This is the configuration that Microsoft currently recommends due to the experimental nature of LCOW. The default configured resource limits for the Moby VM are too low for building and running Unreal Engine containers. You will need to use the Advanced tab of the Docker settings pane to increase the resource allocations: