Read These First

Introduction to ue4-docker

Overview

The ue4-docker Python package contains a set of Dockerfiles and accompanying build infrastructure that allows you to build Docker images for Epic Games’ Unreal Engine 4. The images also incorporate the infrastructure from ue4cli, conan-ue4cli, and ue4-ci-helpers to facilitate a wide variety of use cases.

Key features include:

  • Unreal Engine 4.20.0 and newer is supported.
  • Both Windows containers and Linux containers are supported.
  • Building and packaging UE4 projects is supported.
  • Running automation tests is supported.
  • Running built UE4 projects with offscreen rendering is supported via the NVIDIA Container Toolkit under Linux.

With the exception of the ue4-build-prerequisites image, the Docker images produced by the ue4-docker Python package contain the UE4 Engine Tools in both source code and object code form. As per Section 1A of the Unreal Engine EULA, Engine Licensees are prohibited from public distribution of the Engine Tools unless such distribution takes place via the Unreal Marketplace or a fork of the Epic Games UE4 GitHub repository. Public distribution of the built images via an openly accessible Docker Registry (e.g. Docker Hub) is a direct violation of the license terms. It is your responsibility to ensure that any private distribution to other Engine Licensees (such as via an organisation’s internal Docker Registry) complies with the terms of the Unreal Engine EULA.

For more details, see the Unreal Engine EULA Restrictions page on the Unreal Containers community hub.

Getting started

Multi-purpose Docker images for large, cross-platform projects such as the Unreal Engine involve a great deal more complexity than most typical Docker images. Before you start using ue4-docker it may be helpful to familiarise yourself with some of these complexities:

Once you’re familiar with all of the relevant background material, you can dive right in:

  1. First up, head to the Configuration section for details on how to install ue4-docker and configure your host system so that it is ready to build and run the Docker images.
  2. Next, check out the Use Cases section for details on the various scenarios in which the Docker images can be used. Once you’ve selected the use case you’re interested in, you’ll find step-by-step instructions on how to build the necessary container images and start using them.
  3. If you run into any issues or want to customise your build with advanced options, the Building Images section provides all of the relevant details.
  4. For more information, check out the FAQ and the Command Reference section.