Develop Apps with Hollywood-Level Graphics for less than $9 a Day

Develop Apps with Hollywood-Level Graphics for less than $9 a Day

The Lenovo Thinkpad x1 Carbon is a laptop best known for running Excel and Word. It breaks a sweat when running Chrome. Amazon Web Services can transform this laptop into an Unreal Engine 5 workstation.

Use Amazon Managed Instances to get Unreal Engine v5 running with minimal hardware!

Table of Contents

FREQUENTLY ASKED QUESTIONS

BEFORE WE GET STARTED

STEP 1: INSTALL FRONT END CLIENT ON YOUR LAPTOP

STEP 2: START YOUR WORKSTATION IN THE CLOUD

STEP 3: CONNECT TO AWS CLOUD SERVER FROM LAPTOP

STEP 4: PERFORM EPIC GAMES LAUNCHER CONFIGURATION

STEP 5: INSTALL UNREAL ENGINE 5

STEP 6: ALTERNATIVES TO ENHANCED SECURITY INTERNET EXPLORER

STEP 7: SET UP YOUR C++ DEVELOPMENT ENVIRONMENT

STEP 8: STOP MACHINE AT END OF DAY

STEP 9: TERMINATE MACHINE AT END OF PROJECT

SUMMARY

When I first put together the “Data Visualization in the Metaverse” online course, I wanted to visualize data on a globe with the same kind of photorealistic technology that's used in the best video games and in virtual production in Hollywood. The program that does this is Unreal Engine 5, but that program requires a lot of hardware to run.

The main challenge is that the people who would best benefit from this don't have the hardware or the GPU necessary to run Unreal Engine on their laptop.

The solution to this is to run a workstation in the cloud. In this blog, I'm going to show you how you can use $9 in order to turn your laptop into a virtual workstation for Unreal Engine 5. We will do this by slightly modifying an Amazon Managed Instance (AMI) built by Epic Games for Amazon Web Services.

FREQUENTLY ASKED QUESTIONS ABOUT UNREAL ENGINE VIRTUAL WORKSTATIONS

Can Unreal Engine v5 run on a laptop?

If you have a high-end laptop, it is possible. If you have an average laptop, you are better off running Unreal Engine from a cloud server with GPUs in Amazon Web Services, and connecting your laptop with a front-end client to AWS.

What were the laptop specs that you used to test this Unreal Engine server?

I tested this approach using a Lenovo Thinkpad x1 Carbon, 7th generation to test this. This laptop has 16GB of memory, a Intel UHD Graphics 620 GPU with 7.9GB of GPU memory. When I just checked on eBay, a refurbished version of this laptop was going for $684. where I had download speeds of 228 Mbps download and 11 Mbps upload.

Before We Get Started

  • If you don't have Amazon Web Services set up and you don't have a corresponding billing account, you need to do that before starting this tutorial. Details regarding account creation are at https://aws.amazon.com/.
  • The solution I'm going to present costs about $9 a day ($1.12 / hour x 8 hour workday ), but this is $834 a month. Much like the Terminator from the movies, it will keep going on forever unless it is stopped. Because of this, you need to shut down this solution when you get done using the virtual workstation in order to minimize costs.
Kyle Resse from the first Terminator movie could probably stop a virtual UE5 workstation. Image courtesy of MagicalQuote.

Kyle Resse from the first Terminator movie could probably stop a virtual UE5 workstation.

Image courtesy of MagicalQuote.

  • A lot of this work builds off of the documentation that is on the Epic Games website under Production Pipelines

STEP 1: INSTALL FRONT END CLIENT ON YOUR LAPTOP

First we need a highly responsive client that can show a remote desktop. We are going to use NICE DCV.

  1. 1. We are going to install the NICE DCV client onto whatever machine that you are currently using. Go to https://download.nice-dcv.com/latest.html and select the client for your machine.
List of NICE DCV clients
  1. 2. After you download this, go ahead and install it. Go ahead and select the defaults where appropriate.
List of NICE DCV clients

STEP 2: START YOUR WORKSTATION IN THE CLOUD

It's not just enough to install a program on your laptop. You also need to set up a machine in the cloud which has the CPU and GPU horsepower needed to run Unreal Engine. To do this, we are going to start up an Amazon Managed Instance (AMI) that was built by Epic Games (the creators of Unreal Engine). The AMI contains Unreal Engine 4, and our job is to upgrade this to Unreal Engine 5.

  1. 1. Go to the Amazon Managed Instance created by Epic Games. You should see something similar to this:
Product Overview for Unreal Engine 4 AMI
  1. 2. Click Continue to Subscribe
Terms and Conditions for the Unreal Engine 4 AMI
  1. 3. Click "Continue to Configuration"
Unreal Engine 4 AMI configuration options
  1. 4. Before clicking on Continue to Launch you want to make sure that you select a region as close as possible to your physical location to reduce latency.[1]
Determine how to launch Unreal Engine AMI
  1. 5. Here we're going to select “Launch through EC2 .” Then go ahead and click Launch . Afterwards, make sure that you are using a cloud server with the specifications for g4dn.2xlarge.[2]
Amazon Web Services Product Details
  1. 6. Now, give a name for the instance. For this example, I am going to call this cloud server “ue5instance”.
Set name for AMI instance

When you are using Amazon Web Services, one of the benefits that you get is security. to securely connect to the Cloud Server (“the instance”), we're going to generate a key pair.

  1. 7. Scroll down to the part of the screen that says key pair, and create new key pair.
Screen where you create a new key pair for the AMI.
Determine if key pair should have the pem extension.
  1. 8. Give the key pair a name, select .pem for the format, and then click “Create key pair.” This will download the file that you will need in order to access your instance.
  1. 9. After your key pair has downloaded, keep everything else with the default values, and click Launch Instance.
Confirmation that the AMI has been launched.

Congratulations you now have a Cloud Server running, and you will be able to see that by clicking on view all instances.

  1. 10. On the Instances page, click Instance ID.
List of running instances.
  1. 11. Click Connect to see different ways that you can connect to the running, cloud server.
Indication the user has to click the connect button.
  1. 12. A warning message will appear that tells you that you can't connect. When this happens, click RDP client, and then click Get password.
Screen which shows to get the password.

The caveat here is that you need to wait at least 7 minutes before this auto-generated password is going to be ready.

  1. 13. 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.
Get windows password for the running server.

When you do this, your public DNS (human-readable name for an IP address), your user name, and your password will appear.

Password decryption successful.

STEP 3: CONNECT TO AWS CLOUD SERVER FROM LAPTOP

  1. 1. Go ahead and open the NICE DCV that we installed in Step One of this blog.
  1. 2. Copy the Public DNS from the “Connect to instance” page, and paste that into Hostname / IP Address field, then click Connect.
  2. 3. A warning will come up stating that the connection is not secure. Click Trust and Connect.
Click Trust and Connect.
  1. 4. Next, enter your login credentials. Use the same username that was presented in the “Connect to instance screen.” For me, this was Administrator. Then, copy-paste the password from the “connect to instance” screen, and the click Login to connect.

STEP 4: PERFORM EPIC GAMES LAUNCHER CONFIGURATION

  1. 1. Sign in with an Epic Games Account. If you don’t have an Epic account, click sign up at the bottom of the screen and follow the instructions in order to create an account. After logging in, you are going to see something like this:
First screen that you see when you connect to remote server.
  1. 2. When you click on the Epic games launcher, you will see the following:
Choose install location.

Keep the defaults.

Initial screen for Epic Games Launcher.
  1. 3. Click on Unreal Engine.
Project files not associated.

STEP 5: INSTALL UNREAL ENGINE 5

  1. 1. Now click on Library at the top of the screen.
Screen displayed before clicking library in Epic Games Launcher.
Selecting engine version in Epic Games Launcher.
  1. 2. Start by clicking x near 4.27.2 to remove the v4 engine and click Uninstall. THIS STEP MUST BE PERFORMED so that you can then click on the + button and install engine version 5.0.1.
Uninstall Unreal Engine 4.27 before installing v5.
  1. 3. Again, keep the defaults that are presented.
Choose install location for Unreal Engine 5.

STEP 6: ALTERNATIVES TO ENHANCED SECURITY INTERNET EXPLORER

After you have installed Unreal Engine 5, you may need to install Visual Studio, Rider for Unreal, or other tools in order to do development.

Clicking on Internet Explorer is going to show the Internet Explorer enhanced security configuration is enabled. If you run the cloud server for personal use, it may not make sense to have all of the security in place.[3]

For this blog, we're going to install Google Chrome to make it easier to download other tools that we might need for development.

  1. 1. When you open Internet Explorer and enter chrome.google.com , you are going to see messages like:
Security alert.
When the cloud server starts, Internet Explorer Enahnced Security configuration is enabled.
  1. 2. An iterative process is going to show a log of websites that are blocked by Internet Explorer Enhanced Security Configuration. I simply added these websites until I got to the Chrome download page.
Warmning message that shows when content is blocked by Internet Explorer.
  1. 3. Now we need to allow Internet Explorer to be able to download the Chrome browser. Within Internet Explorer, click on the gear icon in the upper right hand corner of the window, and go to Internet Options. Click on the security tab. Highlight the internet icon, and select Custom Level of security. As seen below, you then should select enable under the File Download section.
Image showing security settings portion of Internet Explorer where File Download needs to be enabled.
  1. 4. Once you have made these selections, click OK. Then you can click the link to download Chrome manually.
Once File Download is enabled, you can download Chrome.
  1. 5. After downloading Chrome, it may also be helpful to you to set Chrome (without the internet restrictions as the default browser). To do this, go into Settings ➡️ Web Browser and then select Internet Explorer and change that to Chrome.
Examine Default apps to switch web browser to Chrome.

STEP 7: SET UP YOUR C++ DEVELOPMENT ENVIRONMENT

This is the perfect time to set up a C++ development environment to work with Unreal. This free video that I put together gets you setup with compilers for C++ development. This other free video shows you how to get a development environment up and running with Rider from JetBrains.

STEP 8: STOP MACHINE AT END OF DAY

At the end of your work day, you're going to have a lot of data saved that you don't want to delete. but you don't want to also incur a lot of expenses for CPUs and GPUs.

Stop AWS instance to reduce costs while retaining data.

Click Stop instance in order to terminate the CPU and GPU while still preserving data.

Stop AWS instance to reduce costs while retaining data.

After doing this, you can confirm that the instance has stopped by clicking on the instances section.

Banner confirms AWS instance stopped.

If at some point, you need to restart the instance simply go into console.aws.amazon.com, search for EC2, go to instances, select your UE5 instance, and select start instance.

Click start instance to get the server running again.

When the instance has started up, clicking on “instances” in the menu bar will reveal that it is running.

After restart, instance page shows the server is running again.

When you click on the instance ID, you will see the connect button enabled, and you can connect again in the method mentioned in part 2 of this blog

STEP 9: TERMINATE MACHINE AT END OF PROJECT

When you are done with your project, you want to delete your data as well as no longer use CPUs and GPUs. Use the guidance in the original AWS documentation for the Unreal Engine AMI to terminate your instance.

SUMMARY

In this blog, we took a look at the steps that are needed so you can host Unreal Engine within Amazon Web Services and so that you can do development on your laptop. If you like these kinds of blogs, support White Owl Education by purchasing our latest online course which teaches the basics about Unreal Engine and shows you how to create data visualizations in 3D.


Footnotes:

1 When testing cloud server, I selected US East (North Virginia).

2 Based on recommended guidelines from Epic Games, we need to use a minimum of a g4dn.2xlarge. This is a computer that has 1 GPU, 32 gigs of memory, and 8 threads of CPU processing.

3 If you are running in a corporate environment, please consult with IT security before completing this step.