All Projects → aws-samples → deploying-unreal-engine-pixel-streaming-server-on-ec2

aws-samples / deploying-unreal-engine-pixel-streaming-server-on-ec2

Licence: MIT-0 license
Repo contains code and documentation that allows you to deploy Windows-based Unreal Engine 4 Pixel Streaming builds to EC2.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to deploying-unreal-engine-pixel-streaming-server-on-ec2

Ue4 Style Guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,656 (+2405.66%)
Mutual labels:  unreal-engine-4
Joymachine Public
All sorts of random publicly-available information, assets, scripts, and more as we (Joy Machine) work on our projects.
Stars: ✭ 210 (+98.11%)
Mutual labels:  unreal-engine-4
DiscordGameSDK
Unofficial Unreal Engine 4 plugin for the Discord Game SDK
Stars: ✭ 20 (-81.13%)
Mutual labels:  unreal-engine-4
Epicsurvivalgameseries
Third-person Survival Game for Unreal Engine 4 (Sample Project)
Stars: ✭ 2,389 (+2153.77%)
Mutual labels:  unreal-engine-4
Rosintegration
Unreal Engine Plugin to enable ROS Support
Stars: ✭ 204 (+92.45%)
Mutual labels:  unreal-engine-4
Flopnite Ue4
A remake of the popular battle royale game, Fortnite, made in Unreal Engine 4 and integrated with Amazon GameLift
Stars: ✭ 250 (+135.85%)
Mutual labels:  unreal-engine-4
Ue4 Gitignore
A git setup example with git-lfs for Unreal Engine 4 projects.
Stars: ✭ 150 (+41.51%)
Mutual labels:  unreal-engine-4
Nano
A tiny template for tiny Unreal games.
Stars: ✭ 117 (+10.38%)
Mutual labels:  unreal-engine-4
Jenkins Ue4
Automated Unreal Engine 4 Project Builds
Stars: ✭ 206 (+94.34%)
Mutual labels:  unreal-engine-4
BMeshUnreal
Based on BMesh for Unity (https://github.com/eliemichel/BMeshUnity). It provides a half-edge data structure inspired by Blender's BMesh, which makes many mesh manipulation operations simpler. Especially useful when using mesh data for logical instead of visual purposes (e.g. irregular grids)
Stars: ✭ 45 (-57.55%)
Mutual labels:  unreal-engine-4
Rts Community Project
Lets build an RTS Game with Unreal Engine 4!
Stars: ✭ 183 (+72.64%)
Mutual labels:  unreal-engine-4
X3daudio1 7 hrtf
HRTF for Arma 3, Skyrim, and other titles that use XAudio2 + X3DAudio
Stars: ✭ 192 (+81.13%)
Mutual labels:  unreal-engine-4
Formula-Student-Driverless-Simulator
A virtual world where Autonomous Systems from different Formula Student teams can compete in time-trial challenges
Stars: ✭ 144 (+35.85%)
Mutual labels:  unreal-engine-4
Creature ue4
Unreal Engine 4 Runtimes for Creature, the 2D Skeletal + Mesh Animation Tool
Stars: ✭ 174 (+64.15%)
Mutual labels:  unreal-engine-4
gitlabci-ue4
No description or website provided.
Stars: ✭ 32 (-69.81%)
Mutual labels:  unreal-engine-4
Acl Ue4 Plugin
The official Animation Compression Library Unreal Engine 4 plugin
Stars: ✭ 156 (+47.17%)
Mutual labels:  unreal-engine-4
Unreal Polygonal Map Gen
An Unreal Engine 4 implementation of the Polygonal Map Generator for generating islands found at http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Stars: ✭ 229 (+116.04%)
Mutual labels:  unreal-engine-4
PsData
Flexible data model plugin for Unreal Engine 4
Stars: ✭ 34 (-67.92%)
Mutual labels:  unreal-engine-4
FairyGUI-unreal
A flexible UI framework for Unreal Engine
Stars: ✭ 180 (+69.81%)
Mutual labels:  unreal-engine-4
ue4-uitween
Unreal 4 UMG UI tweening plugin in C++
Stars: ✭ 178 (+67.92%)
Mutual labels:  unreal-engine-4

Deploying Unreal Engine Pixel Streaming Server on EC2

This sample is for those who use Unreal Engine 4 to build content and wish to deploy this content to an audience via UE4 pixel streams. Content examples include but are not limited to: interactive entertainment, architectural visualization, high fidelity car configurators, or anyone who needs to let users access high quality interactive content via thin clients such as web browsers.

This sample deployment should take about 1 hour to complete, assuming you have an application with Pixel Streaming enabled. The 1-hour deployment includes:

  1. Creating an AWS account with proper permissions
  2. Creating the S3 bucket and uploading required files to S3
  3. Configuring CloudFormation template to be launched

If you do not have an application with Pixel Streaming, please go to the getting started with Pixel Streaming guide.

Working with UE4 Pixel Streaming on AWS

Using AWS and Unreal Engine 4’s Pixel Streaming solution, developers can create content with Unreal Engine and deploy on AWS so users can engage with the content from any modern Web browser. A build of the UE4 content is run on an Amazon Elastic Compute Cloud (Amazon EC2) G4 instance. G4 instances are GPU instances that are designed for graphics-intensive workloads and offer a powerful, low-cost, pay-as-you-go model which is ideal for on-demand interactive content.

This Quick Start deployment sets up an EC2 environment on AWS that includes the following:

  • Unreal Engine 4 Pixel Streaming components from your pixel streaming build are installed and run on startup. Components include UE4 Windows build with pixel streaming plug-in executable, Stun Server, Turn Server, and Signaling Web Server.
  • Nice DCV is installed allowing developers to connect to the G4 instance, for a low latency remote desktop experience that supports resolutions up to 4k. This allows a developer to remote in to test the build and optionally installUnreal Engine 4 directly on the machine.

Deployment Guide

Follow the steps outlined in the Unreal Engine Pixel Streaming Deployment Guide. Once deployed the CloudFormation stack will deploy the below architecture:

Architecture Diagram

CloudFormation Template Parameters

Parameters Details Default Value
InstanceType Amazon EC2 instance type for the pixel streaming server. Size should be smallest instance size that achieves required performance. g4dn.xlarge
OsVersion Specify the version of Windows(Windows Server 2019) OS to use. Valid values are “WindowsServer2019”, “WindowsServer2016”, or “WindowsServer2012R2”. Windows Server 2019
DiskSize Volume size for the host, in GB. 50
KeyPairName Name of AWS EC2 Key Pair. This is not used when logging into machine, but needed to secure instance on VPC. Requires input
UserPasswd Windows Administrator password used for logging into EC2 via NICE DCV or other administration. It is recommended that you change this default password. Ch4ng3M3!
PixelStreamerBootstrapLocation Specify the location of bootstrap file in S3 which is executed upon initial launch of EC2 instance. Requires input
PixelStreamerBuildLocation Specify the location of UE4 Pixel Streamer build zip file in S3. Requires input
PixelStreamingAccessCIDR IP address range, as an access CIDR, of pixel stream viewers. If your viewers are coming from a specific range, limit the access. 0.0.0.0/0
NiceDCVAccessCIDR IP address range, as an access CIDR, of admins and developers to access server via NICE DCV. It is recommended that you limit this to only trusted IPs, such as specifying your own IP. 0.0.0.0/0
Windows AMIs Default values ensure that the latest Windows AMI published by AWS is used. You can also define a different AMI to use with a different path. AWS Defined AMI Paths

Additional Resources

Solution Notes

Security

There are several security-related aspects of the architecture in this sample. The solution is deployed into the default VPC. It creates a security group that allows fine-grained control of traffic in and out of the EC2 hosting the Pixel Streaming server. You can limit access to IP addresses that need to access the host (see the HostAccessCIDR parameter earlier in this guide). This helps keep the host protected from malicious attacks and helps protect the data (UE4 Pixel Streaming build, in this case).

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].