AWS for Games Blog

Amazon GameLift Servers Streamlines Integration with Unreal Engine 5

Amazon GameLift Server solutions are now easier to integrate than ever. We’ve updated the Amazon GameLift Servers Plugin for Unreal Engine, open-sourced the SDK, and added ARM support—all while expanding Amazon EC2 compatibility to generation 5-8 instances. These improvements respond directly to developer needs, whether you’re seeking streamlined server functionality or comprehensive in-editor workflows.

Amazon GameLift Servers Unreal Engine integration

Updated Amazon GameLift Servers Plugin for Unreal Engine offering:

  • Windows compatibility
  • In-editor workflows for fleet deployment
  • Integrated testing tools
  • Built-in backend service functionality

Open-source Amazon GameLift Servers SDK providing:

  • Streamlined integration for Unreal Engine 5
  • Support for x64 and ARM architectures
  • Guided workflows to configure and deploy your game

Expanded Hardware Support:

  • Native ARM support
  • AWS Graviton processors for improved price-performance
  • Compatible with Windows and Linux server deployments

Cross-Platform Compatibility:

  • Support for game clients across all Unreal-compatible platforms

This guide explores integration of Amazon GameLift Servers with Unreal Engine. We’ll cover the Amazon GameLift Servers Plugin, the Amazon GameLift Servers SDK, and efficient deployment strategies using Amazon EC2 instance types, including the Graviton family.

Amazon GameLift Servers Plugin for Unreal Engine

Streamlined integration process

The Amazon GameLift Servers Plugin for Unreal Engine supports Windows development environments and transforms how developers interact with Amazon GameLift Servers by providing an intuitive, visual interface directly within the Unreal Editor. This eliminates the need to switch between development environments or manage command-line operations previously required. Developers configure AWS profiles, create fleets, and deploy game servers—all from a centralized user interface within the familiar Unreal Editor workspace. Native Linux cross-compile support allows building and packaging game servers for Linux all within Unreal Editor.

The Amazon GameLift Servers Plugin streamlines setup by using AWS CloudFormation to deploy essential resources – including Amazon Identity and Access Management (IAM) roles, an Amazon S3 bucket for Amazon GameLift Server fleets, Amazon Cognito user authentication, and AWS Lambda functions for session management. If Amazon GameLift Servers fleets are already in place or there’s a preference to manage fleets independently, proceed to the following server SDK plugin section.

Simplified SDK integration and SSL management

The updated plugin eliminates manual server SDK builds and simplifies integration. The plugin includes build automation for SDK components, removing the need for separate builds. It also leverages Unreal Engine’s bundled OpenSSL libraries, removing the requirement to manually download and install matching versions. These improvements reduce setup time and accelerate project integration.

Installation requirements and prerequisites

Install prerequisites

The following tools are necessary to install and run the plugin with Unreal Engine projects.

  • An AWS account to use with Amazon GameLift Servers. To use the plugin guided workflows, you need a user profile with your AWS account and access credentials. See Set up an AWS account for help with these steps:
    • Sign up for an AWS account.
    • Create a user with permissions to use Amazon GameLift Servers.
    • Set up programmatic access with long-term Amazon IAM credentials.
  • A source-built version of the Unreal Engine editor. You need a source-built editor to package a multiplayer game server build. See these Unreal Engine documentation topics:
  • A multiplayer game project with C++ game code. (Blueprint-only projects aren’t compatible with the plugin.) If you don’t have a project in progress, use one of the Unreal Engine sample games such as the Third Person Template.
  • Microsoft Visual Studio 2019 or newer.
  • Unreal Engine cross-compiling toolchain. This tool is required if you’re building a Linux game server.

Get the plugin

  1. Download the plugin from the repository’s Releases page or clone the repository.
  2. If you downloaded from the repository’s Releases page, unzip the downloaded file amazon-gamelift-plugin-unreal-release-<version>.zip. If you cloned the repository, run the following command in the root directory of the repository.

powershell -file setup.ps1

Once completed, the plugin is ready to be added to an Unreal game project.

Add the plugin to your Unreal game project

  1. Locate your Unreal game project root folder. Look for a subfolder called Plugins. If it doesn’t exist, create it.
  2. Copy the entire contents of \GameLiftPlugin\ into the Plugins
  3. Open the .uproject file for your game project. Go to the Plugins section and add the following code:
"Plugins": [
    {
        "Name": "GameLiftPlugin",
        "Enabled": true
    },
    {
        "Name": "WebBrowserWidget",
        "Enabled": true
    }]
  1. In a file browser, select the game project .uproject file and choose the option Switch Unreal Engine Version.
  2. Set the game project to use the source-built Unreal Editor.
  3. In the game project root folder, find the solution ( *.sln) file. If none exists, select the .uproject file, right click and choose the option to generate project files.
  4. Open the solution file and build or rebuild the project.
  5. Open the game project in your Unreal Editor.
  6. If the editor is open, restart Unreal Editor to recognize the new plugin.
  7. Verify the plugin is installed by checking the main editor toolbar for the new Amazon GameLift Servers menu button.
  8. Check the Content Browser for the Amazon GameLift Servers plugin assets (ensure View Options has the Show Plugin Content option selected).
  9. To integrate a game server with Amazon GameLift Servers, reference these integration examples.
Unreal Engine editor window showing a simple 3D level design. The scene contains a rectangular room with grey walls and floor in a grid pattern. Inside the room are various grey geometric shapes including a cylinder, rectangular blocks, and several small blue cubes. The title "Third Person Template" appears at the bottom. At the top of the window is the editor toolbar with various controls and a dropdown menu showing AWS GameLift plugin options.

Figure 1: Amazon GameLift Servers Plugin for Unreal Engine.

Clean up

To optimize costs, terminate any Amazon GameLift Servers managed fleets created with plugin.

  1. In the AWS Console, navigate to Amazon GameLift Servers
  2. Under Resources, choose Managed EC2 fleets or Managed container fleets
  3. select any created fleets and Delete

Fleet workflows supported

The Amazon GameLift Servers Plugin for Unreal Engine supports workflows from within the Unreal Editor for deploying to Amazon GameLift Servers Anywhere, managed EC2 fleets, and managed container fleets. After you configure your AWS credentials, the plugin deploys to Amazon GameLift Servers without additional work in the AWS console.

Amazon GameLift Servers SDK for Unreal Engine

Shared functionality with game engine plugin

The server SDK eliminates the need for separate SDK builds and simplifies OpenSSL integration by utilizing libraries bundled with Unreal Engine. Both features support Amazon GameLift Servers integration and provide core functionality for game server deployment and management. However, with the server SDK, developers take the lead on creating Amazon GameLift Servers fleets to specific requirements and the supporting AWS infrastructure.

Streamlined architecture

The server SDK implements a modular approach with separation between client and server targets. It uses the WITH_GAMELIFT preprocessor flag to automatically handle conditional inclusion of Amazon GameLift Servers functionality in server builds. This simplifies and eliminates redundant code paths. The architecture provides defined callbacks for game session events, process termination, and health checks.

Comprehensive platform support

The server SDK supports both Windows and Linux environments, and includes support for x64 and ARM architectures (ARM support available from UE5.0+). This supports deployment of multiplayer games across a wider range of infrastructure options that match desired price/performance targets.

Programmatic integration focus

The server SDK focuses on programmatic integration through the Amazon GameLift Servers SDK module versus the game engine plugin for Windows. This approach provides you with direct control over server-side logic for matchmaking, scaling, and monitoring your multiplayer game infrastructure.

New Amazon EC2 Instance options and features

ARM (Graviton) support

Amazon GameLift Servers now supports new 7th and 8th generation EC2 instances including Graviton4-powered C8g, M8g, and R8g instances. Through close collaboration between Epic Games and AWS, Unreal Engine 4.27.2 and later versions are optimized for Graviton architecture. The strengthened integration now includes native LinuxArm64 support in the SDK, providing developers flexibility in server deployment choices.

Benefits of ARM-based instances for game workloads

ARM-based Graviton instances revolutionize game server hosting with performance efficiency gains. These instances deliver 40% improved price-performance over x86 alternatives while reducing energy use by 60%. Epic Games’ testing confirms Graviton4 as their fastest EC2 instance yet tested for Unreal Engine games, including Fortnite.

Performance and cost considerations

Graviton4 triples vCPU and memory capacity over previous generations while enhancing security. One case study demonstrated improved resource management, with identical workloads running at 75% CPU usage on Graviton versus 97% on x86. Memory bandwidth jumps 75% from Graviton3, delivering smoother gameplay across the board.

Migration guidance for existing projects

  1. Verify Compatibility:
    • Check your Unreal Engine project for LinuxArm64 compatibility
    • Ensure all third-party tools support ARM architecture
  2. Package and Test:
    • Package your project specifically for LinuxArm64
    • Conduct thorough testing in development environments
  3. Deploy Using Mixed Fleets:
  4. Address Dependencies:
    • Update third-party agents to use Arm64 binaries
    • Modify plugin configurations as needed
  5. Leverage Resources:

Conclusion

The Amazon GameLift Servers plugin for Unreal Engine offer developers two distinct approaches to multiplayer game development. The game engine plugin provides an intuitive interface within the Unreal Editor, featuring automated build components and eliminating the need to switch between development environments. The Amazon GameLift Servers SDK for Unreal Engine delivers broad compatibility across Unreal Engine versions with expanded platform support for both x64 and ARM architectures. Together, these plugins provide you the flexibility to choose the integration approach and compute platforms that suits your development needs and deployment strategies.

Try the new plugins

Ready to transform your multiplayer game development? Download the Amazon GameLift Servers Plugin for Unreal Engine, or Amazon GameLift Server SDK for Unreal Engine today and experience the streamlined workflows configuration. Share your feedback on the AWS Game Tech topics or Amazon GameLift GitHub repository to help shape future improvements. For personalized guidance on optimizing your game’s cloud infrastructure or scaling your multiplayer capabilities, contact an AWS representative to accelerate your path to launch.

Further reading

Steve Phillips

Steve Phillips

Steve Phillips is a senior technical account manager at AWS in the North America region. Steve has worked with games customers for eight years and currently focuses on data warehouse architectural design, data lakes, data ingestion pipelines, and cloud distributed architectures.

Tim Bruce

Tim Bruce

Tim Bruce is a Sr. Solutions Architect working with customers who develop and publish games. You can also find Tim on the AWS Boss Level pod cast on YouTube.

Jake Wolf

Jake Wolf

Jake Wolf is a Sr. Specialist Solutions Architect. He guides Games, Media & Entertainment, and Sports customers to make their compute on AWS more efficient with our Graviton and Spot products.

Richard Raseley

Richard Raseley

Richard Raseley is a Senior Technical Account Manager in North America who works with Games customers. He is passionate about applying his deep background in automation, cloud computing, networking, and storage to help customers build world-class solutions.