Use Cases:

Microservices

Build and deploy cloud native microservices powered by Unreal Engine technology.

Here's what you'll need:

Contents

Overview

Containerised microservices are an extremely popular architectural paradigm for implementing server-side applications. Unreal Engine containers allow this same architecture to be applied to microservices powered by the Unreal Engine. Infrastructure for integrating existing RPC frameworks allows developers to implement Unreal microservices using familiar technologies, while the NVIDIA Docker runtime allows Unreal microservices to perform 2D or 3D rendering with full GPU acceleration. Compatibility with container orchestration technologies means developers can deploy and scale Unreal microservices in exactly the same manner as traditional microservices.

Key considerations

Implementation guidelines

Integrating an RPC framework

Note that the Web Remote Control feature introduced in Unreal Engine 4.23 only works in the Unreal Editor, not in packaged projects. This means it cannot be used as an RPC framework for deployed microservices.

Integrating RPC frameworks natively in C++

The most performant option for integrating native RPC frameworks with the Unreal Engine is to do so in C++. However, there are a number of complexities that must be addressed in order to correctly integrate third-party C++ libraries with the Unreal Engine under Linux which make manual compilation or the use of prebuilt system libraries difficult or impossible. We strongly recommend making use of infrastructure such as the conan-ue4cli project to build any third-party C++ libraries in a manner that will ensure the resulting binaries are compatible with the Unreal Engine.

Existing solutions are available for building Unreal-compatible binaries for the following native RPC frameworks:

Integrating RPC frameworks using other language integrations

RPC frameworks for non-native programming languages can be integrated by making use of community-maintained projects that add support for these programming languages in the Unreal Engine. Although additional complexity is introduced by the integration of another programming language, RPC frameworks written for these languages do not require special compilation to work with the Unreal Engine.

There are a number of community-maintained projects that integrate non-native programming languages with the Unreal Engine. The following list comes from the Unreal Engine For Research initiative:

Building container images for deployment

See the relevant sections from the cloud rendering page for details on selecting an appropriate base image and building your own container images for deployment.

This content is landing soon!

Be sure to check out the Unreal Containers Twitter feed for news about content updates.