From UE 5.5 onwards, Epic Games introduced a layer that makes it easier to maintain WebRTC internally. As the original Pixel Streaming plugin used WebRTC directly, this change meant that we had to introduce a new plugin to ensure a better transition phase for the developers who have developed custom solutions on top of the PixelStreaming plugin. For now, both the original Pixel Streaming plugin and the Pixel Streaming 2 plugin will be shipped with Unreal Engine to give users time to migrate.
We have created a migration guide to ensure a smooth transition for all licensees using the plugin and to highlight all major changes between the plugins.
Health Checks | UE5.5 | UE5.4 | UE5.3 |
---|---|---|---|
The frontend and web server elements for Unreal Pixel Streaming (previously located in Samples/PixelStreaming/WebServers
) are now in this repository, for all to contribute to. They are referred to as the Pixel Streaming Infrastructure.
To build and run everything you need to connect to the Pixel Streaming plugin simply run the following in the root of your PixelStreamingInfrastructure
directory:
Windows
.\SignallingWebServer\platform_scripts\cmd\start.bat
Linux or Mac
./SignallingWebServer/platform_scripts/bash/start.sh
If you want to work on a specific library within this monorepo then cd
into that directory and run:
npm install
npm run build
If you want to install all the dependencies and flush any existing node_modules
, go to the root of the repo and run:
npm install
This works because this monorepo is using NPM workspaces. Using NPM workspaces means:
package-lock.json
. There is only a single one in the root.node_modules
directory.node_modules
directory because all their dependencies exist in the root node_modules
.symlink
to those dependencies instead of downloading the published packages from NPM. For example, pixelstreaming-frontend
depends on pixelstreaming-common
, when working in this repo that dependency will first be attempted to be resolved using the local ./Common
directory.The goals of this repository are to:
If you would like to contribute to our repository, please reference our contribution guide. Thank you for your time and your efforts!
The Pixel Streaming Infrastructure contains reference implementations for all the components needed to run a pixel streaming application. They are structured as separate projects, which work together, but are designed to be modular and interoperable with other implementations which use WebRTC technology. These implementations include:
SignallingWebServer/
.SFU/
.Common/
.Frontend/
:
Extras/SS_Test/
.We release a number of different components under this repository, specifically:
The following container images are built from this repository:
The following are unofficial
NPM packages (official ones coming soon):
NPM Package | 5.5 | 5.4 | 5.3 |
---|---|---|---|
Frontend lib | lib-pixelstreamingfrontend-ue5.5 | lib-pixelstreamingfrontend-ue5.4 | lib-pixelstreamingfrontend-ue5.3 |
Frontend-ui lib | lib-pixelstreamingfrontend-ui-ue5.5 | lib-pixelstreamingfrontend-ui-ue5.4 | lib-pixelstreamingfrontend-ui-ue5.3 |
Signalling lib | lib-pixelstreamingsignalling-ue5.5 | N/A |
N/A |
Common lib | lib-pixelstreamingcommon-ue5.5 | N/A |
N/A |
#frontend (core lib)
npm i @epicgames-ps/lib-pixelstreamingfrontend-ue5.5
#frontend ui
npm i @epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.5
We maintain versions of the servers and frontend that are compatible with existing and in-development version of Unreal Engine.
:warning: There are breaking changes between UE versions - so make sure you get the right version. :warning:
For a list of major changes between versions please refer to the changelog.
This repository contains the following in branches that track Unreal Engine versions:
Branch | Status |
---|---|
Master | Dev |
UE5.5 | Current |
UE5.4 | Supported |
UE5.3 | End of life |
UE5.2 | Unsupported |
Legend | Meaning |
---|---|
Dev | This is our dev branch, intended to be paired with ue5-main - experimental. |
Pre-release | Code in here will be paired with the next UE release, we periodically update this branch from master . |
Current | Supported and this is the branch tracking the latest released version of UE. |
Supported | We will accept bugfixes/issues for this version. |
End of life | Once the next UE version is released we will not support this version anymore. |
Unsupported | We will not be supporting this version with bugfixes. |
© 2004-2024, Epic Games, Inc. Unreal and its logo are Epic’s trademarks or registered trademarks in the US and elsewhere.