AWS for Games Blog
Getting Started with Unreal Engine Development on AWS
Blog authors: Gena Gizzi, Jake Wolf, Noor Fairoza, and Chris Blackwell
Democratizing Unreal Engine development on AWS with End User Compute products and advanced GPU-based EC2 instances
Introduction
The games industry is evolving and user-generated content (UGC) is leading the change. Players are making more UGC than ever, motivated by self-expression and the chance to receive social and economic rewards [1]. However, game development and content creation is intricately hard. The industry needs to create tools that can democratize game development to make it open and accessible to all from students to professionals. This brings new challenges — how can we empower creativity for players while reducing the barrier to entry that comes with game development? How do we reduce the learning curve, remove hardware limitations, and make development cost friendly?
There is a lot of innovation in the industry right now to do just that — especially by Epic Games with Unreal Engine (UE). Unreal Engine is the world’s most advanced real-time 3D creation tool for photorealistic visuals and immersive experiences. It initially gained traction within the games industry and is now a popular tool for other industries as well, such as broadcast, animation, simulation, and more. Unreal Engine powers Epic Games’ Fortnite, which is becoming more of a social experience that provides UGC and creative experiences for players.
At the Game Developers Conference in 2023, Epic Games announced Unreal Editor for Fortnite (UEFN), which is a new PC application for designing, developing, and publishing games and experiences directly into Fortnite. This makes it even easier for players to use Unreal Engine capabilities to create UGC in the game and reduces the learning curve of game development.
However, there are still hardware and cost challenges. Developers need expensive hardware upfront with GPUs to run a lot of these common game development tools which takes time to acquire, is expensive, and can’t scale up or down easily. For example, here are the recommended hardware specifications for Unreal Engine 5. This can be limiting for small studios who do not have budget to purchase latest hardware for employees, and limiting for creative players who might not have the latest gamer rig or access to top of the line GPUs. This is where the cloud can help. One of the main advantages of developing with UE or UEFN on the cloud is that it allows for more scalability and flexibility while reducing cost. Game developers and creators can spin up instances with powerful hardware configurations and scale them up or down as needed, without having to invest in expensive hardware upfront. This helps smaller studios compete with larger ones, and makes it more accessible for individual players to start creating.
There are many options available to creators when it comes to cloud-based game development with AWS. The choice of the best option will depend on several factors such as: the number of developers, budget, user persona, geographic location, latency, presentation layer requirements, customizability, security requirements and any specific use cases. Amazon AppStream 2.0, Amazon WorkSpaces, and Amazon EC2 are the main options available on AWS that can help. This blog will cover these options and help you decide which is the best choice for you to get started with cloud game development, whether you are using Unreal Engine, Unreal Editor for Fortnite, or any other game development tools that have GPU requirements.
Amazon AppStream 2.0
Amazon AppStream 2.0 is one option to consider for cloud-based game development. AppStream 2.0 provides a cloud-based desktop experience for streaming applications to users, which allows game development teams to run graphics intensive and high performance applications remotely on any device anywhere to save time and money.
Amazon AppStream 2.0 can be particularly useful for game developers and 3D modeling artists who need high-performance computing and graphics resources but don’t want to invest in expensive hardware. Another use case for Amazon AppStream 2.0 could be for students or contractors who need access to specific applications for a scheduled duration.
If AppStream 2.0 is the right option for you, check out the Getting Started Guide or the free Amazon AppStream 2.0 Primer. Since this is for game development, you will also need to request a service limit increase for ‘Graphics design streaming instances for image builders’ and ‘Graphics design streaming instances for fleets’. We recommend starting with 4xlarge for high performance, but it is important to test and monitor to ensure you are right sizing the instance for your use case. If you’re entirely new to AWS, it would be better to first learn AWS fundamentals and then get started provisioning AppStream.
It is important to call out that AppStream 2.0 utilizes non-persistent storage locally but has various persistent external storage options, so users should remember to save work each session or they may risk losing it. Also, raytracing and Lumen/Nanite are not supported quite yet in AppStream or WorkSpaces. If you need support for these, check out Amazon EC2 below for the most customizable option. There is a full feature comparison table at the end of this blog comparing key characteristics for each option to better help you decide.
Amazon WorkSpaces
Amazon WorkSpaces is another option to consider for cloud-based game development, which is useful for graphics developers who need access to full virtual desktops. WorkSpaces provides virtual desktops that can be accessed from anywhere via client on Windows, MacOS, Linux, and other mobile devices and tablets. This option is helpful for developers who need access to specific software, IDE or tools installed, as WorkSpaces can be customized to install these tools and development environments. This also provides a familiar dedicated VDI experience for developers to use with default persistent storage attached and AlwaysOn or AutoStop running modes to help reduce costs when not in use. WorkSpaces also utilizes persistent storage and includes 50GB of free storage via WorkDocs.
If Amazon WorkSpaces is the right option for you, check out the Getting Started Guide to help you launch your first WorkSpace. Since you are using WorkSpaces for graphics applications, it is important to choose a Graphics.g4dn or GraphicsPro.g4dn instance. These come with an NVIDIA T4 Tensor Core GPU that features multi-precision Turing Tensor Cores and RT Cores, AWS custom second generation Intel® Xeon® Scalable (Cascade Lake) processors, and the local NVMe storage designed for applications that require fast access to locally stored data.
As with AppStream, you will first need to request a limit increase to the target number and types of WorkSpaces Graphics instances you will be running in each AWS Region. Graphics and GraphicsPro instances differ in amount of vCPUs, RAM, and capacity of NVMe SSD drive but have equivalent GPU specs. Please note these limit increase requests may take up to a week, so rememebr to plan ahead if you are getting started or running a large-scale event.
For more information and pricing details, please visit the Amazon WorkSpaces website. We have additional learning resources through the WorkSpaces Primer training and free WorkSpaces Deep Dive training. To get started, sign in to the Amazon WorkSpaces Management Console.
Amazon EC2
Amazon EC2 is the most customizable option for cloud game development. Amazon EC2 is secure and resizable compute capacity that provides a flexible infrastructure that can be set up to handle virtually any workload that may have specific needs. With EC2, game studios can build their own custom cloud-based virtual workstation solution, which can be particularly useful for larger game development teams that require more control over their infrastructure. Amazon EC2 also offers the widest variety of instance types that could be used for game workloads. For example, if you plan to use Amazon EC2 for cloud game development, we recommend you look at G5 instances which are high performance GPU based instances for graphic intensive workloads. EC2 is very customizable beyond the ability to use powerful GPUs – you can also configure EC2 with high-performance networking capabilities and storage, which makes it an ideal solution for game development tasks such as 3D modeling, animation, and rendering.
This option requires more management of underlying infrastructure than a managed offering such as Amazon AppStream or Amazon WorkSpaces. There are tools such as Amazon Machine Images (AMI), AWS Marketplace, AWS CloudFormation, and AWS Control Tower to help simplify provisioning and orchestration of EC2 instances. For example, you can spin up the Unreal Engine 5 AMI on the AWS Marketplace to quickly get started. However, if you are a very small team with limited time it will be important to consider that with Amazon EC2 you will have to manage your own instances, presentation layer, infrastructure scaling, patching, and more.
If you need the most customizability and control over your cloud game development, Amazon EC2 will be the best option for you. To launch your first instance, check out the Getting started with Amazon EC2 guide. After that, a good sample to reference is the Game Production in the Cloud Pipeline, which includes instructions on deploying and setting up a virtual workstation.
Features Comparison
Having trouble deciding which option is best for you or have more specific requirements? Check out this detailed features comparison table (last updated at time of publishing)!
Appstream | Workspaces | EC2 | |
---|---|---|---|
Fully persistent desktops | X | X | |
Selective persistence | X | ||
GPU Instances (G4) | X | X | X |
GPU Instances (G5) | X | ||
Geographic Regions Supported | 15 Regions | 13 Regions | All |
Web Browser Access | X | X | |
Thick Client Access | Windows Only | X | Optional |
Input Tablet Support | X | X | X – via NICE DCV |
Gaming Controller Support | X – via NICE DCV | ||
Relative Offset | X | ||
OS Support | Windows 2016, 2019 | Windows 10 | Windows, BYOL, Linux, Marketplace AMIs |
Protocols | NICE DCV | PCOIP | NICE DCV (recommended), Teradici, Parsec |
Hibernation modes | X | X | Manual |
Pricing Options | Hourly | Hourly, Monthly | Hourly OnDemand, Savings Plans, Reserved Instances |
Authentication | Microsoft Active Directory, AWS Managed Microsoft AD, AppStream 2.0 User Pools, SAML 2.0 Integration, Streaming URL Creation | Microsoft Active Directory, AWS Managed Microsoft AD, SAML 2.0 Integration, AD Connector | Optional |
Multi-Monitor | Max 2 Monitors for 4K resolution, Max 4 monitors for 2K resolution | GraphicsPro: Max 2 Monitors for 3840×2160 resolution, Max 4 Monitors for 1920×1200; Graphics: Max 1 Monitor for 2560×1600 | Custom |
Conclusion
The games industry is rapidly changing with the rise of UGC, and it is important to be able to democratize development to make it more accessible for all. Epic Games’ Unreal Editor for Fortnite is a step towards making game development more accessible. Whether you are using UE, UEFN, or any other development tools, hardware and cost challenges still exist which can be limiting to small studios and individual creators. AWS provides several cloud-based solutions, including Amazon WorkSpaces, Amazon AppStream, and Amazon EC2, that can help to overcome these barriers and make development more user focused, scalable and cost-effective.
Resources
Looking for more? Check out these links for additional learning:
- AWS for Games https://aws.amazon.com/gametech/
- AWS Cloud Game Development https://aws.amazon.com/gametech/remote-game-production/
- Your First Hour in Unreal Engine 5.0 https://dev.epicgames.com/community/learning/courses/ZpX/your-first-hour-in-unreal-engine-5-0/RPwK/your-first-hour-in-unreal-engine-5-0-overview
- Your First Hour in UEFN https://dev.epicgames.com/community/learning/courses/Yl6/fortnite-your-first-hour-in-uefn/yXkB/fortnite-your-first-hour-in-uefn-overview
- Getting started with AWS Guide – https://aws.amazon.com/appstream2/getting-started/
- Setup sample applications – https://docs.aws.amazon.com/appstream2/latest/developerguide/getting-started.html
- Build multiplayer games on cloud – https://aws.amazon.com/blogs/gametech/online-multiplayer-amazon-gamelift-aws-serverless/
- Unreal Engine 5 Marketplace AMI – https://aws.amazon.com/marketplace/pp/prodview-iu7szlwdt5clg
[1] https://www.gamedeveloper.com/blogs/how-do-different-kinds-of-ugc-satisfy-players-#close-modal