Resources

Get started with the Unreal Engine and integrate it with existing tools and libraries.

Contents

Getting started

There are a wide variety of freely-available resources dedicated to helping new users familiarise themselves with the Unreal Engine. Key resources include:

Infrastructure Projects

The projects listed below provide additional infrastructure that complements the native capabilities of the Unreal Engine in order to simplify development workflows or provide integration with third-party libraries or tools. A number of these projects are maintained by the UE4Research contributors themselves and were developed with a specific focus on research use cases.

Projects maintained by the UE4Research contributors are listed first, followed by all other projects in alphabetical order.

ue4-docker

Created by: Adam Rehn

Description (from the project’s documentation):

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 and conan-ue4cli to facilitate a wide variety of use cases.

Key features include:

  • Unreal Engine 4.19.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 NVIDIA Docker under Linux.

Research uses:

ue4cli

Created by: Adam Rehn

Description (from the project’s documentation):

The ue4cli Python package implements a command-line tool called ue4 that provides a simplified interface to various functionality of the build system for Epic Games’ Unreal Engine 4. The primary goals of this tool are as follows:

  • Abstract away the platform-specific details of the various batch files and shell scripts scattered throughout the Engine’s source tree.
  • Provide the ability to easily generate IDE project files under Linux, where no shell integration currently exists to perform this task from outside the Editor.
  • Determine the compiler flags required to build third-party libraries for use within Engine modules. This is particularly important under macOS and Linux where symbol interposition can cause clashes between external libraries and those bundled in the ThirdParty directory of the Engine source tree, and under Linux where libraries need to build against the Engine’s bundled version of libc++.

Research uses:

The workflow enhancements provided by ue4cli primarily cater to users who prefer to use the command line to work with UE4, or are working under Linux. Outside of this core functionality, the main benefit of ue4cli is that it allows you to install and use the conan-ue4cli plugin, which forms the basis for most of the third-party library integrations listed in the Integrations section.

conan-ue4cli

Created by: Adam Rehn

Description (from the project’s documentation):

The conan-ue4cli Python package is a plugin for ue4cli that provides functionality for generating and using Conan packages that wrap the third-party libraries bundled in the Engine/Source/ThirdParty subdirectory of the Unreal Engine 4 source tree.

Research uses:

The conan-ue4cli plugin for ue4cli provides wrapper packages around the third-party dependencies that come bundled with the Unreal Engine, along with infrastructure that makes it easy to write Conan recipes for building additional third-party libraries against these bundled dependencies to ensure full compatibility with UE4 under all platforms. This Conan-based workflow dramatically simplifies the task of integrating third-party libraries and tools into the Unreal Engine and forms the basis for most the library integrations listed in the Integrations section.

UnrealCV

Created by: Weichao Qiu, Fangwei Zhong, Yi Zhang, Siyuan Qiao, Zihao Xiao, Tae Soo Kim, Yizhou Wang, Alan Yuille

Description (from the project’s documentation):

UnrealCV is an open source project to help computer vision researchers build virtual worlds using Unreal Engine 4. It extends UE4 with a plugin by providing:

  • A set of UnrealCV commands to interact with the virtual world.
  • Communication between UE4 and an external program, such as Caffe.

Research uses:

UnrealCV is particularly helpful for using virtual environments to generate image datasets with rich ground truth data that can then be used to train machine learning algorithms.

Integrations

This section provides guidance and examples to assist in integrating existing third-party libraries, tools, and programming languages with the Unreal Engine. Many of these components are widely used in research and will therefore be a familiar (or in some cases essential) part of researchers’ existing workflows.

Libraries, tools, and programming languages are listed in alphabetical order.

C#

Javascript

OpenCV

Protobuf and gRPC

Python