Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

Latest commit

 

History

History
70 lines (48 loc) · 4.22 KB

File metadata and controls

70 lines (48 loc) · 4.22 KB

Pixel Streaming Frontend

The frontend refers to the HTML, CSS, images, and JavaScript/TypeScript code that runs in web browsers and allows them to connect to Unreal Engine Pixel Streaming applications and interact with them. The frontend library is the foundation that developers can modify and extend to suit the needs of their Pixel Streaming experience.

The frontend consists of two packages:

  1. lib-pixelstreamingfrontend: the core Pixel Streaming frontend for WebRTC, settings, input, and general functionality.
  2. lib-pixelstreamingfrontend-ui: the reference UI that users can either optionally apply on top of the core library or build on top of.

Docs

Integrating the libraries into your project

The TypeScript libraries are provided as both an NPM package and a UMD module (available via unpkg), making it easy to consume the libraries from either TypeScript code or plain JavaScript code using modern web development tools and workflows.

Usage from source

When developing your own Pixel Streaming experience the intent is you will start with this library and extend it through the use of its public API. We have provided an example of this workflow in our implementations/EpicGames, which is an implementation of this library.

Contributing

If part of the library is not exposed and you wish to extend it, please do so in your own branch and open a pull request with your change for our consideration.

Developing

Changes to the library occur in the /library directory and require you to have NodeJS installed as part of your development environment. Once you have NodeJS installed:

  • cd library
  • npm install
  • npm run build

The default user interface is provided in /ui-library directory. You can either use it or provide your own user interface. To build the default UI, run:

  • cd ui-library
  • npm install
  • npm run build

This will produce player.js under the SignallingWebServer/Public directory - this is the default UI.

Making your own UI

We recommend studying /ui-library and player.ts/player.html, or alternatively the sample React implementation in implementations/react, then once you have copied and modified the package.json and .ts into your own implementation/your_implementation directory, the process is similar:

  • cd implementation/your_implementation
  • npm build-all

Unit tests

The /library project has unit tests that test the Pixel Streaming functionality against a mocked connection. To run the tests manually, run:

  • cd library
  • npm install
  • npm run test

Legal

Copyright © 2023, Epic Games. Licensed under the MIT License, see the file LICENSE for details.