Game Stack Blog
Announcing Unreal Engine Pixel Streaming in Azure!
As immersive and interactive real-time content grows in popularity – for both gaming and non-gaming applications – distributing that content has become an increasingly important barrier to break down. Until recently, distributing interactive 3D content relied on the hardware at the receiving end, with the quality limited by the capabilities of the device (compute, display, disk space, and download times). For many developers, this meant that in order to get the highest quality experience for each device type, teams needed to consider multiple versions of an application.
"At Epic Games, we're on a mission to break down barriers. And that's exactly what we're doing with Pixel Streaming, a technology that allows any UE4 application to be entirely run in a cloud environment at the highest quality and be delivered to any local device, no matter its power or capabilities. This is true for both gaming and non-gaming applications. While Pixel Streaming is not limited to one cloud provider, partnering with Microsoft has unlocked greater technical capability for developers hosting on Azure; such as seamless end-to-end deployments, autoscaling to optimize costs, hosting multiple streams per GPU, and more. We're excited about the future of Pixel Streaming, and Microsoft will be a critical partner in realizing that potential."
With the growing interest from gamers and consumers to interact with cutting-edge 3D interactive experiences, Epic's Unreal Engine Pixel Streaming solution is paving the way for developers to bring this immersive interactivity to reach more people from nearly any device with a web browser and reasonable internet speed—regardless of device capabilities.
Pixel Streaming also comes in handy for remote testing and automation. For example, by delivering low-latency, high-quality interactive content, remote testers can get an accurate impression of an application as it's tested. And going remote allows QA teams to schedule more tests, more frequently.
In collaboration with Epic, Microsoft has released a quick-start guide for deploying Unreal Engine Pixel Streaming in Azure, as well as documentation and a public GitHub solution using Terraform for running Pixel Streaming at scale in Azure. This template is the same framework used to deploy the impressive Project Anywhere demo created together with Microsoft, Epic, Cesium and NVIDIA last December. This demo showcased hundreds of concurrent 3D app streams in Azure across 4 global regions, demonstrating auto-scaling and additional improvements to Unreal Pixel Streaming. The Terraform template is the only available open-source solution today that provides running Pixel Streaming at scale and saves developers hundreds of hours of development building the infrastructure and deployment/monitoring logic to run Pixel Streaming in production.
Alongside the learnings from the Project Anywhere demo, Microsoft was able to customize Pixel Streaming on Azure to add the following notable improvements, saving developers hundreds of hours building these capabilities themselves:
Key Microsoft Improvements to Pixel Streaming available on Azure:
- End-To-End deployment in Microsoft Azure with Terraform, allowing streamlined deployments with only a few Terraform commands
- Autoscaling capabilities to enable thresholds for scaling up or scaling back down GPU compute to optimize costs
- Multi-region deployments in Azure with utility scripts for spin up/down/deployment management
- Capability to host Multiple streams per GPU
- Azure specific PowerShell scripts for starting the web services, which utilize FQDNs for each scaled-out GPU node
- Automated installation of pre-requisites for the VMs (i.e., VC++, DirectX, Node.js, NVIDIA drivers, etc.)—cuts down up to 10 minutes as each node starts up
- Auto startup tasks if the services/3D app close unexpectedly or when starting/restarting the VMs
- Improved Resiliency for recovering from disconnects with the Signaling Server
- Removed duplication of redirects causing shared sessions
- HTTPS capabilities for the Matchmaker Node.js service
- Custom application and host metrics for monitoring in Azure with Application Insights
For a double-click of Pixel Streaming in Azure, please refer to the Overview page of our documentation to see the architecture of Pixel Streaming, recommended SKUs, detailed quick-starts, as well as optimizations for further improving performance and costs in the cloud.
Unreal Pixel Streaming can also be deployed at scale (i.e., 2 to 1000's of streams) using autoscaling with multiple streams per GPU. Please refer to our Azure documentation available here, Unreal Pixel at Scale. Also, developers can jump directly to the Azure GitHub repo for an example of our auto-scale solution: Azure/Unreal-Pixel-Streaming. The architecture below gives a high-level view of the Azure services used to run Pixel Streaming at scale in Azure.
The solution available today is just one of many steps planned to empower developers to run Pixel Streaming on Azure for their interactive projects. Stay tuned to hear more from Microsoft about making Pixel Streaming even easier to deploy and run in Azure, as well as case studies from early-access customers using this technology today.
Ready to get started today? Check out our Pixel Streaming on Azure Quick-Start Guide to learn the basics of deploying Pixel Streaming on an Azure.
And if you want to get your hands on some code, dive directly into our GitHub repo to start deploying Unreal Pixel Streaming at Scale on Azure: GitHub - Azure/Unreal-Pixel-Streaming
From the Game Stack blog
Why should a single player game have a backend?
How to use PlayFab Telemetry, Analytics, and LiveOps to extend the lifespan of your game and re-engage your players
How to transfer large files in a distributed environment
Set up your modern game studio for file share sync with Azure
New Unreal GSDK Plugin simplifies Azure MPS deployment
Using this new plugin, customers can more easily upload Unreal builds to MPS.