The Pixel Streaming Infrastructure contains the servers and frontend components of the Pixel Streaming plugin. It contains the scripts needed to run Pixel Streaming (the Signalling Server, Matchmaker and SFU) and is designed to be both easy to access and modify. Previously, these scripts were found in the Samples/PixelStreaming directory of your project and engine. If you want to continue using Pixel Streaming moving forward, it's recommended to use the new infrastructure as all the latest front end updates to Pixel Streaming will be made there.
Why?
We moved the Pixel Streaming front end to its own repository for a number of reasons:
- To improve the release cadence of Pixel Streaming. With the infrastructure existing in its own repository, it is not bound to updates to Unreal Engine.
- Encourage and allow easier contribution from Unreal Engine licensees and users.
Acquiring the Infrastructure
There are 3 different ways to acquire the Pixel Streaming infrastructure. The methods below are the most commonly used and should cover most use cases.
Download the Zip
You can directly download the infrastructure in zip format by heading to: https://github.com/EpicGames/PixelStreamingInfrastructure. Navigate to the branch of the infrastructure you need (e.g. 4.27 or 5.0) and press the green code button. You should see the option to download ZIP.
Use Git Command
If you have Git installed locally, you can acquire the infrastructure via command line, for example:
git clone --branch UE5.1 https://github.com/EpicGames/PixelStreamingInfrastructure.git
in your preferred terminal (make sure you have git installed).
The git command mentioned above will pull the 5.1 branch of the infrastructure. If you need a different branch, please modify the git command accordingly.
Use the Provided Scripts
With the Pixel Streaming plugin enabled, you will find scripts to automatically pull the required branch of the infrastructure.
Navigate to \Engine\Plugins\Media\PixelStreaming\Resources\WebServers
and run the get_ps_servers
command (make sure to use the .bat
script for Windows and .sh
script for Linux accordingly). This will automatically pull the relevant branch of the Pixel Streaming infrastructure into that folder.
This method is recommended because the downloaded infrastructure will be automatically packaged with your Pixel Streaming enabled project. If you don't use this method, you can still ensure the infrastructure packages with your project by manually placing the infrastructure in the above location.
Infrastructure Layout
After pulling the infrastructure through one of the methods above, you'll end up with a local file setup as shown below. You can browse the infrastructure directly on GitHub as well.

The Pixel Streaming component locations are as follows:
-
Matchmaker: This file contains all the scripts required to configure and run the Matchmaker.
-
SFU: This file contains everything needed to configure and run the Selective Forwarding Unit.
-
SignallingWebServer: This is the location for your mandatory Pixel Streaming elements, such as the Signalling Server, Web Server and front end.
The platform_scripts
directory is the go to location for all the scripts used to start each Pixel Streaming element. You will find scripts for Windows and Linux in cmd
and bash
respectively.
For information about using the Matchmaker and the Selective Forwarding Unit, refer to the Hosting and Networking Guide
For help setting up a basic Pixel Stream, refer to Getting Started with Pixel Streaming
Engine Versions
There are different branches of the Pixel Streaming Infrastructure for each different version of the engine. As the Pixel Streaming plugin has variances between each version of the engine, it's vital that you use the compatible version of the Pixel Streaming infrastructure. The available versions of the Pixel Streaming infrastructure are: 4.26, .4.27. 5.0 and 5.1. There is also a master branch available that is used for our active development. This will have the latest features, but is also experimental and is not guaranteed to be stable.
Older versions of the Pixel Streaming infrastructure (e.g. 4.26 and 4.27) are not receiving new updates/features. However we do plan to maintain them and push bug fixes as required.