Use Cases:

Cloud Rendering (Deprecated)

Note: this overview page has been deprecated and is being split into other, more specific use cases.

This page has been deprecated.

This page used to serve as an overview of several related use cases, which are now being split into separate pages with their own specific focus. The following pages cover use cases that were previously grouped by this page:

The content below (which is now outdated in several places) will remain unchanged during the transition process, and will then be removed once everything has been relocated to the appropriate pages.

Contents

Overview

The NVIDIA Container Toolkit allows Unreal Engine containers to run in the cloud with full GPU acceleration, facilitating server-side 2D or 3D rendering. GPU-accelerated containers augment existing cloud rendering workflows with all of the advantages inherent to containerisation, including increased density and compatibility with container orchestration technologies. Rendering results can be captured, stored, or streamed to remote devices in much the same manner as when performing cloud rendering inside VMs. Container-based cloud rendering can also be combined with existing RPC frameworks to create GPU-accelerated microservices powered by the Unreal Engine or provide training data for machine learning models.

Key considerations

Implementation guidelines

Base image selection

Packaged Unreal projects do not require the Engine Tools and can run in any container image that includes the required runtime libraries. As discussed in the Sources of base images for running packaged Unreal projects section of the Available Image Sources page, container images that will perform rendering must be derived from the nvidia/opengl, nvidia/vulkan or nvidia/cudagl base images. Beyond this single requirement, developers are free to design their runtime base images as they see fit.

Using a preconfigured base image

There are a number of pre-configured base images maintained by the community that can be used to quickly create container images suitable for cloud rendering workloads. These images often provide multiple variants to cater to common cloud rendering scenarios. See this section of the Available Image Sources page for a list of available preconfigured base images.

Writing a custom Dockerfile

Writing your own Dockerfiles for building runtime base images is quite straightforward:

Building container images for deployment

Copying packaged projects into container images from the host system

There is no inherent need to use Unreal Engine containers to build and package projects that will be deployed using Unreal Engine containers. If you’ve built and packaged an Unreal project for Linux on the host system then you can simply copy the packaged files into a container image using a COPY directive in your Dockerfile.

Creating container images as part of the build process for projects

If you’re already making use of Unreal Engine containers as part of a continuous integration workflow then you can use a Docker multi-stage build to build your runtime container images as part of the overarching build process. See the Building container images for deployment section of the CI/CD page for more details on this option.

Offscreen rendering flags

The flags required to enable offscreen rendering vary based on the version of the Unreal Engine you are using:

Capturing rendering output

There are a variety of different mechanisms that can be utilised to capture cloud rendering output. Each mechanism is suited to different scenarios and offers different advantages and limitations:

This content is landing soon!

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