Environment Setup:

Microsoft Azure

Configure a development or production environment running on Azure.

Contents

Configure a virtual machine as a Windows container host

Selecting a virtual machine size

Any virtual machine size with a sufficient amount of memory can be used to run a Windows container host. For building and running Unreal Engine containers a size from a compute optimised series with a minimum of 8GB of memory is recommended.

Selecting a virtual machine image

Microsoft provides preconfigured VM images for Windows Server that come with Docker EE preinstalled and are named with the suffix “with Containers”:

After launching a virtual machine using an image that includes Docker EE it is recommended that you update Docker by following the official update instructions.

Configuring the virtual machine

Once you have launched a virtual machine and ensured your Docker EE installation is up-to-date, configure the Docker daemon by following the instructions in the Configuring Docker for building and running Windows containers section of the Windows Server environment configuration page.

Configure a virtual machine as a Linux container host

Configure a CPU-only virtual machine

Selecting a virtual machine size

Any virtual machine size with a sufficient amount of memory can be used to run a Linux container host without NVIDIA Docker support. For building and running Unreal Engine containers a size from a compute optimised series with a minimum of 8GB of memory is recommended.

Selecting a virtual machine image

Microsoft does not currently provide preconfigured VM images for Linux with Docker CE preinstalled, so you will need to instead select a base image for one of Docker’s supported Linux distributions:

Configuring the virtual machine

Once you have launched a virtual machine running a supported Linux distribution then you will need to install Docker CE by following the instructions in the Installing and configuring Docker section of the Linux environment configuration page.

Configure a GPU-enabled virtual machine with NVIDIA Docker

Selecting a virtual machine size

You will need to select a VM size from a series that features one or more NVIDIA GPUs. The NC-series, NV-series, and ND-series all include at least one NVIDIA GPU. It is worth noting that GPU-enabled virtual machines are not available in all Azure regions.

Selecting a virtual machine image

As discussed in the Configure a CPU-only virtual machine section above, you will need to select a VM image for one of Docker’s supported Linux distributions. As with CPU-only virtual machines, we recommend selecting the latest LTS version of Ubuntu.

Installing the NVIDIA drivers

If the image you selected for your virtual machine does not include the appropriate NVIDIA GPU drivers then you will need to install or update the drivers manually.

Installing Docker and NVIDIA Docker

Once you have ensured your virtual machine is running the appropriate NVIDIA GPU drivers then you will need to install Docker CE and the NVIDIA Docker runtime by following the instructions provided by the Linux environment configuration page.

Optional: configuring PulseAudio support

If you want to enable audio support for Unreal Engine containers running on the virtual machine then you will need to install the PulseAudio server from the system package repositories for your chosen Linux distribution. For example, under Debian or Ubuntu you would use the following command:

sudo apt-get install pulseaudio

When running inside a virtual machine that does not have access to any physical audio devices, the PulseAudio server will automatically create a dummy output audio device when it starts. By default, the dummy output device will use different audio parameters to those used by the Unreal Engine under Linux, which may lead to audio distortion issues. To prevent issues when using the dummy device with the Unreal Engine, you will need to add the following lines to the /etc/pulse/daemon.conf configuration file to override the default audio parameters to match those used by the Unreal Engine:

default-sample-format = float32le
default-sample-rate = 48000
default-sample-channels = 6

Once the PulseAudio server is installed and correctly configured, you can enable audio support inside Unreal Engine containers by bind-mounting the PulseAudio socket from the host system. See the cloud rendering page for further details on enabling audio support.