Deploying Unreal Engine 4 on AWS

A short tutorial describing how to set up Unreal Engine 4 on Amazon Web Services

Choose your operating system:

Windows

macOS

Linux

This tutorial provides you with a step-by-step guide to setting up an Unreal Engine 4 instance on Amazon Web Services (AWS).

Prerequisites

You need to meet the following prerequisites to successfully deploy Unreal Engine 4 on AWS.

Region Support

Make sure that the geographic region you are in (or the one closest to you) supports access to a GPU-enabled virtual workstation (g4dn instance). Check with AWS for a current list of regions where this is available.

The Unreal Engine offering outlined here only supports g4dn instances at this time.

For the best performance, you want AWS services to be located as geographically close to you as possible. The Region with the lowest latency value is usually the one you want. For optimal performance, we recommend less than 50 ms latency.

To check which Region is closest to you, refer to AWS' Regions and Availability Zones webpage. You can use a website such as ping.psa.fun to measure the latency from your location to the different Regions. If your nearest Region does not support access to a G4 instance, check other nearby Regions.

AWS Account

You need access to an AWS account, either your own or through your employer or another party. Verify that your account has sufficient permissions to access all the AWS services required to complete the deployment.

While Unreal Engine 4 is available at no cost, AWS instances do have an associated cost. If your account is linked to your employer or another party, check that they are prepared to accept responsibility for the costs involved before setting up your deployment instance.

For a more accurate estimate of your cost, review the pricing information on the EC2 Pricing page or create a new EC2 estimate using the AWS Calculator.  For a personalized cost per hour estimate, first select your closest region, then select the g4dn.2xlarge instance. When working, you can monitor your current costs using the AWS Billing Console.

For more information on linked accounts and consolidated billing, please refer to the Consolidated Billing Process AWS documentation.

Account Permissions

Account Owner

If you just created a new AWS account or are the owner of your account, you may be logging in as the root user. If you're logging in using an email address, rather than a username, you're using the root account.

For security purposes, we strongly recommend creating a new user and logging in with those credentials instead. Refer to AWS' documentation on creating new IAM users for more information.

Third-Party Account

If you are using a user account provided by your employer or a third party, you may need to request additional permission policies added in order to deploy Unreal Engine 4. The owner of your account may have rules about what policies you can access.

On-Demand G Instance Quota

Many resources in AWS are subject to quotas, also called limits. Each resource has a quota that represents the maximum value of that resource you can use. Quotas are how AWS manages resources for its clients, ensuring high availability and low latency, and avoiding resource overuse and unexpected charges.

Deploying Unreal Engine on AWS requires connecting to a GPU-enabled virtual workstation (g4dn instance). You need a g4dn instance quota of at least 8 to use the recommended instance size.

If you are using a new AWS account or have never used GPU instances before, check the value of your G4 instance quota and, if necessary, request an increase. Login to your AWS account and refer to AWS' documentation on service quotas to learn how to check your current quota or request an increase.

Remote Access

Accessing your G4 instance where Unreal Engine is deployed requires a remote access application. The instance comes with NICE DCV support installed for a low-latency connection method. You can install the NICE DCV client ahead of time. The Windows RDP client is also effective for these purposes.

Using the AWS Console and AWS Marketplace AMIs

The AWS Console is your main interface to all AWS services. The AWS service that you use to launch the virtual computer that you use for your virtual workstation is Elastic Compute Cloud (EC2). Aninstance* is a single virtual computer in EC2.

Instead of installing Unreal Engine 4 from scratch on a basic Windows instance, start with an Amazon Machine Image (AMI) from the AWS Marketplace that already has Unreal Engine 4 installed and configured.

Log in to Your Account

  1. Follow this link to log in to your AWS account.

  2. As a reminder, make sure you log in as an IAM user and not as the root user for your account.  If you need to create a new user, please refer to AWS' documentation on IAM users.

Subscribe to the UE Product

  1. The Unreal Engine AMI is hosted on the AWS Marketplace. Navigate to the product page found here.

  2. Once you have opened the listing for the Unreal Engine AMI, click Continue to Subscribe in the upper right.

    The Continue to Subscribe button

  3. On the Subscribe to this software page, under Terms and Conditions, click Accept Terms. After a few minutes of processing, this will add the Unreal Engine AMI to your AWS account so you can launch it in a variety of ways.

    The Accept Terms button

Launch the Instance

AWS provides several different ways to launch EC2 instances. We will review two of the easiest methods, CloudFormation and the EC2 Console.

Launch Option 1: CloudFormation

CloudFormation is an offering by AWS that allows you to deploy many different resources all at once based on a simple template file. Epic has created a template that will automatically create a new IAM role that is necessary for licensing the NICE DCV remote desktop software included in the AMI.

  1. Within the AWS Management Console, ensure you're in the region where you want your instance deployed by selecting a region from the dropdown menu at the top right of the page.

    Select your region using the drop down menu

  2. If you don't already have access to a private keypair used for creating EC2 instances, follow this guide to create one. Use RSA as the type, and .pem as the format. Make sure it is downloaded and securely stored.

  3. Open this link to start the creation of a new stack in CloudFormation using our template.

  4. As in Step 1 above, change the region of your AWS Management Console so you're creating this stack in the same region that you created your key-pair.

  5. Most fields are pre-filled with defaults that work out of the box, but pay attention to the following:

    Enter a valid Stack name.

    Enter your stack name

    Select a Key pair name from the dropdown. This must be a key-pair for which you have a local copy of the .pem file. If your list is empty, go back to step 1 to create one, or make sure you're in the correct region.

    Enter your key pair name

    We recommend that you enable Termination Protection. This is optional, but will help prevent accidental loss of data if the stack or the created instance is deleted by a user.

    term-prot-true.png

    Specify a VPC and Subnet from the dropdown lists. There will be one default VPC and several default subnets in your current region, so the top item in the list is usually preferred.

    Pick your network settings for VPC and Subnet

  6. Once your settings are configured, check the box to acknowledge that AWS CloudFormation might create IAM resources, then click Create Stack.

    Acknowledge the warning and click Create Stack

  7. If everything was configured correctly you should be taken to the overview page of your newly created stack, where you will see a CREATE_IN_PROGRESS status. Click on the Resources tab.

    Creating your instance

  8. The EC2Instance in the list of resources is the virtual machine you will be working with. If you don't see an EC2 Instance, it is still being created and will appear if you refresh the page after a few minutes. Click on the hyperlinked Physical ID to open up the EC2 Console. Continue in the Connect to the Instance section below.

    Click the EC2Instance link to connect to your instance

Launch Option 2: EC2 Console

After subscribing to the Unreal Engine product on the Marketplace you can follow these steps to launch your instance directly from there.

If you intend to connect to this instance using NICE DCV, you will have to deploy using the CloudFormation template or follow these steps to keep the free license active past a short evaluation period.

  1. On the Subscribe page of the Marketplace listing, click Continue to Configuration.

    The Continue to Configuration button

  2. On the Configure this software page, verify the region selected is correct, and if not, update it using the dropdown menu. When you are done, click Continue to Launch.

    Verify the region and Continue to Launch

  3. On the Launch this software page, expand the Choose Action dropdown menu and select Launch through EC2, then click Launch.

    Launch software through EC2

  4. On the Step 2: Choose an Instance Type page, open the All instance families filter drop down menu and select g4dn instances.

  5. Choose a g4dn.2xlarge instance type and click Review and Launch. This will launch your instance with the default settings.

    Click image to expand.

  6. This takes you to Step 7. Review Instance Launch. Several default settings are already filled in for you.  You can expand the Instance Details, Storage, and Tags sections to review the settings for your instance. The default settings are usually acceptable, but if you are an advanced user and wish to change them, you can use the links on the right side.

    Click image to expand.

  7. Next, click Launch at the bottom of the screen.

  8. In the Select an existing key pair or create a new key pair popup window, select Create a new key pair from the first drop down menu and then enter a key pair name.

    key pair consists of public and private key files that are used to encrypt data between two computers. AWS stores the public key file, but you need to store the private key file.

    Create a new key pair

  9. After entering your key pair name, click Download Key Pair.

    You must download the private key file when you create a new key pair and store it securely on your local computer. You will not have another chance to download the private key file, so save it in a safe place on your computer where you can find it again.

  10. After downloading the private key file, click Launch Instances.

View the Status of Your Instance

On the Launch Status page, click the link in the Your instances are now launching notification box at the top of the page.

Your instance link

This takes you back to the Instances page, which shows a list of your running instances and their status. Initially, the Instance State field is listed as pending, before changing to running, and the Status Checks field starts out as Initializing.

Instance initial state

After about 5-10 minutes the Status Checks field changes to 2/2 checks passed and your instance is ready. Continue with Connect to the Instance below.

Connect to the Instance

Once your instance has been created and has finished the set-up process, you can connect to it using NICE DCV, Windows RDP, or another remote connection application.

  1. On the Instances page of the EC2 Console, click the Instance ID.

    The instance ID

  2. This opens the Instance summary page. In the upper right corner, click Connect.

    Instance summary Connect button

  3. A warning message appears telling you that you can't connect. Click RDP client, then click Get password.

    Can't connect warning message

  4. Click Browse and select the key-pair file you downloaded and saved previously. Once the RSA key is showing in the text window, click Decrypt Password.

    Browse to your key pair file

  5. The decrypted password appears.

    The decrypted password

Connection Option 1: NICE DCV

The Unreal Engine AMI comes with support for NICE DCV, a remote desktop software offered by Amazon and meant to provide a low latency and high quality experience. If you haven't already, you will need to install the NICE DCV client.

  1. Open the NICE DCV Client. Copy the Public DNS and paste it into the Hostname / IP Address field, then click Connect.

    The NICE DCV client main screen

  2. A warning will come up about the server's security certificate. Click Trust and Connect.

    NICE DCV security warning

  3. Next, enter your login credentials. Use ./Administrator for the Username and copy-paste the decrypted password from your key pair file. Click Login. NICE DCV will begin to connect.

    If you have already set up another user account than Administrator, use that user name instead.

    NICE DCV username and password

Connection Option 2: Windows RDP

You can initiate a remote desktop session using the standard Windows Remote Desktop Connection app ("Windows RDP") installed with Windows 10. This is a good alternative if you don't want to install extra remote desktop clients on your computer, but it doesn't provide the extra features of apps like NICE DCV.

  1. Launch the Windows RDP client. Copy the Public DNS from your instance details and paste it into the Computer field in the Windows RDP login window, then click Connect.

    Paste in the Public DNS

    You can also use the same credentials to connect to this instance via NICE DCV, either through the desktop client or through a web browser at port 8443. If using NICE DCV, make sure you follow these instructions for a valid (free) license.

  2. Under More choices, select Use a different account, then enter .\Administrator for the username. For the Password, enter the decrypted password from your key pair file. Click OK to connect to your instance.

    If you have already set up another user account than Administrator, use that user name instead.

    Username and password for access to your instance

  3. You will receive a warning about a certificate issue on the EC2 instance. Click Yes to continue with the connection, and optionally tick the box for Don't ask me again.

    Windows RDP security warning

Launch Unreal Engine 4

After the login process completes, the Unreal Engine 4 EULA shows. Select the relevant option and click Verify EULA. You only need to do this on the very first connection to the instance.

The Epic Games EULA

Next, you are presented with the Epic Games log-in menu. Log in with your Epic Games account.

Epic Games log-in

Once logged in, you are presented with a desktop with Unreal Engine 4 and the Epic Games Launcher already present. You can run Unreal Engine directly from the shortcut or run the Epic Games Launcher to login again and access content as you normally would.

Upon logging into the Launcher for the first time you may be presented with a prompt to update the launcher and a prompt to associate project files with the engine.

Launching Unreal Engine from the Epic Games Launcher

You can install any additional Windows software as you would to a local machine. We recommend you continue through the remaining part of this tutorial first to learn how to manage the instance so it is not running when not needed.

Cost Optimization

Due to the ongoing hourly cost of using an AWS instance, we recommend stopping or terminating your instance when you're not using it.

Stopping an instance is similar to shutting down your home or work computer. All running applications quit, but whatever data was stored on persistent storage (that is, the instance's hard drive) is preserved. Once the instance is stopped, you are no longer charged any hourly fees for its use (although you are charged a small amount to store the data that was on the instance's hard drive). A stopped instance is still listed in the EC2 instance list in the AWS Console and can be restarted at any time. Refer to the AWS documentation on stopping and starting instances for more information.

Terminating the instance is more final than stopping it. When an instance is terminated, it is stopped like above, but all the data that was stored in persistent storage is also deleted, so not only do you not incur any hourly charges, you also do not incur any charges for storage of data. Terminated instances remain visible in the console for a short time, but unlike stopped instances, they cannot be restarted. You can enable Termination Protection to avoid accidental loss of your data. If you enabled Termination Protection from the CloudFormation template, you must disable it on the instance before you can successfully terminate it. Refer to the AWS documentation on terminating instances for more information.

Stopping Your Instance

  • In the AWS Console, select your instance.

  • Click the Actions button at the top of the list of instances and select Instance State > Stop, then click Yes, Stop.

Restarting Your Stopped Instance

  • In the AWS Console, select your instance.

  • Click the Actions button at the top of the list of instances and select Instance State > Start.

Terminating Your Instance

  • In the AWS Console, select your instance.

  • Click the Actions button at the top of the list of instances and select Instance State > Terminate, then click Yes, Terminate.

Instance state options

Tags
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss