Develop Apps with Hollywood-Level Graphics for less than $9 a Day
Use Amazon Managed Instances to get Unreal Engine v5 running with minimal hardware!
Table of Contents
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.
- 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. 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.
- 2. After you download this, go ahead and install it. Go ahead and select the defaults where appropriate.
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. Go to the Amazon Managed Instance created by Epic Games. You should see something similar to this:
- 2. Click Continue to Subscribe
- 3. Click "Continue to Configuration"
- 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.
- 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.
- 6. Now, give a name for the instance. For this example, I am going to call this cloud server “ue5instance”.
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.
- 7. Scroll down to the part of the screen that says key pair, and create new key pair.
- 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.
- 9. After your key pair has downloaded, keep everything else with the default values, and click Launch Instance.
Congratulations you now have a Cloud Server running, and you will be able to see that by clicking on view all instances.
- 10. On the Instances page, click Instance ID.
- 11. Click Connect to see different ways that you can connect to the running, cloud server.
- 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.
The caveat here is that you need to wait at least 7 minutes before this auto-generated password is going to be ready.
- 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.
When you do this, your public DNS (human-readable name for an IP address), your user name, and your password will appear.
STEP 3: CONNECT TO AWS CLOUD SERVER FROM LAPTOP
- 1. Go ahead and open the NICE DCV that we installed in Step One of this blog.
- 2. Copy the Public DNS from the “Connect to instance” page, and paste that into Hostname / IP Address field, then click Connect.
- 3. A warning will come up stating that the connection is not secure. Click Trust and Connect.
- 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. 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:
- 2. When you click on the Epic games launcher, you will see the following:
Keep the defaults.
- 3. Click on Unreal Engine.
STEP 5: INSTALL UNREAL ENGINE 5
- 1. Now click on Library at the top of the screen.
- 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.
- 3. Again, keep the defaults that are presented.
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.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. When you open Internet Explorer and enter chrome.google.com , you are going to see messages like:
- 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.
- 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.
- 4. Once you have made these selections, click OK. Then you can click the link to download Chrome manually.
- 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.
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.
Click Stop instance in order to terminate the CPU and GPU while still preserving data.
After doing this, you can confirm that the instance has stopped by clicking on the instances section.
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.
When the instance has started up, clicking on “instances” in the menu bar will reveal that it is running.
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.
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.
1 When testing cloud server, I selected US East (North Virginia).
3 If you are running in a corporate environment, please consult with IT security before completing this step.