Getting Started
Building your Unreal Engine container image
Contents
Once you have prepared and packaged your UE project, it is ready to be containerized. Note that you can skip this step and deploy directly from a compressed .zip UE project on select cloud platforms (currently only available on AWS).
Create a container registry profile and repository
If you do not have an existing container registry account, you will need to create one with any provider you wish. Your chosen cloud platform may also provide a container registry service which can improve the start-up times for your project. Below is a list of commonly used container registry providers:
- Docker Hub
- Amazon Elastic Container Registry
- Azure Container Registry
- Google Cloud Container Registry
Once you have created an account, navigate to the repositories tab and create a repository for your project.
Download the Image Builder tool
We provide a command-line tool to remove the complexities of creating container images and automate the process. Download the latest version of the Image Builder tool for your operating system:
Under Linux, you must allow the downloaded binary as executable:
chmod +x ./image-builder
Create a container image using the tool
Once you’ve downloaded the Image Builder tool, open a command prompt or terminal in the same folder to start using it.
1. Authenticate the tool with your container registry by executing the following command with your account username, password, and registry index; note that the username must be entered in lowercase:
image-builder auth --username "your_username" --password "your_password" --registry "https://index.docker.io/v1/"
2. Execute the following command to create a container image in a repository on the previously authenticated registry, using a path to your packaged Unreal project’s platform-specific subfolder and the desired image name:
image-builder create --package "/path/to/YourUnrealProjectFolder/Linux/" --tag "index.docker.io/yourdockerusername/yourrepository:desiredimagename"
Note, that some advanced UE projects will requires additional dependencies not supplied in the default base UE container. In this case, you will need to supply a custom base container that includes these dependencies before you can build your image. Use --base-container-override
flag to override the default base image, for example:
image-builder create --package "/path/to/YourUnrealProjectFolder/Linux/" --base-container-override "docker.io/my-user/my-repository:new-base-image" --tag "index.docker.io/yourdockerusername/yourrepository:desiredtagname"
The Image Builder tool will automatically start creating a container image suitable for use with Scalable Pixel Streaming and will push it to the container registry, ready for use.
Note that, depending on the size of the packaged UE project and your connection speed, this process might take a while. The Image Builder tool will print Successfully pushed the container
in the terminal to let you know when the container image is ready for use.
3. You are now ready to deploy your containerised UE project with SPS, which can be done in several ways:
- Deploy via dashboard — we provide a dashboard accessible via a web browser as a GUI based method for deploying and managing your deployed projects (visit the relevant cloud install page to determine how to access it);
- Deploy via command-line tool — you can use the CLI tool we provide to deploy applications directly from the command line without needing to access the dashboard;
- Deploy via REST API — you can send curl requests or scripted calls directly to the SPS REST API to manage your applications and deploy new ones.