Pixel Streaming Development Checklist

For all projects built in Unreal, follow this check list to ensure your project is optimized for pixel streaming distribution at scale.

 

Description

Completed or Compliant? (Y/N)

1. Ensure that your model has been created using version 4.25 of Unreal Engine

Why? Pixel Streaming is a rapidly developing technology, as such we work to ensure that our version supports the latest changes from Unreal Engine. As such we require users be on the latest version of Unreal Engine.

 

2. Keep the file size below 50GB, ideally at 5GB or less

Why? Larger project files result in longer load and startup times (the time it takes for the stream to start once a user has connected to a cloud hosted session) and transfer times (copying projects to instances as part of scaling operations), which overall degrades the end user experience.

Additionally, AWS instances used within the PureWeb Platform have storage limitations on the maximum file size of the project.

 

3. Follow optimization guidelines provided by Epic Games

https://docs.unrealengine.com/en-us/Engine/Performance/Guidelines

Why? The base performance of the game is the single most important factor for a high-quality streaming experience. A fine-tuned and optimized project will support a greater number of concurrent users per server which can significantly reduce costs. It will also improve the frame rate resulting in a more compelling streaming experience.

 

4. Ensure that your model runs from a clean state on every launch, and does not require configurations or other data to be written to the local file system

Why? In a cloud streaming environment, many different users will be accessing a model on a given cloud instance. In order to ensure that each user has the same experience, it is necessary that the model does not make any changes on the local file system that will impact the experience of successive users.

 

5. The project should enter the Default loading phase within 60 seconds (ideally much shorter)

See the following link for more information on loading phases: 

https://api.unrealengine.com/INT/API/Runtime/Projects/ELoadingPhase__Type/index.html

Why? To provide your on-line users with a responsive web experience you ideally want the project to be able to load to an initial screen in 5 to 20 seconds. This will also ensure that various system/network timeouts are not reached when loading the project.

 

6. Download the latest PureWeb Platform plugin

Click on the following link to download the PureWeb Platform plugin: https://pureweb-na.s3.amazonaws.com/nightlies/PixelStreaming/platform-plugin-unreal-4.25-0.1.0-a64e e7e.zip

 

7. Create project folder structure

Go to your project folder which contains [ProjectName].uproject and create a folder called Plugins.

 

8. Apply the PureWeb Platform plugin to your folder structure

Unzip the PureWeb Platform plugin downloaded in step 5 and put the resulting PureWeb folder into the Plugins folder from step 6. This will result in the following structure:

 

9. Enable the PureWeb Platform plugin

From the Unreal Editor, open Menu > Edit > Plugins, make sure PureWeb is installed and enabled.

 

10. Make sure Pixel Streaming is enabled

From the Unreal Editor, open Menu > Edit > Plugins, make sure Pixel Streaming is enabled.

 

11. Disable the in-game mouse pointer

Pixel Streaming through the PureWeb Platform works best when the cursor is rendered locally only. The default used by the Unreal Pixel Streaming Plugin is to render a remote software cursor. Set this cursor to None in the Pixel Streaming Configuration before packaging.

For most projects, you will want to configure your Viewport to only capture during mouse down. Please set your Input Configuration accordingly.

 

12. Disable Motion Blur

Motion blur affects the performance of the stream negatively, putting unnecessary load on the server without little or no gain on the client side.

 

13. Enable “Hardware video decoder” when using full motion video (FMV)

The “Hardware video decoder” is currently an experimental feature in Unreal and enabling this reduces the strain on the CPU when playing back FMV in your project.

To use this, enable the Hardware Accelerated Video Decoding (Experimental) setting in the Plugins - WMF Media section of the Project Settings window.

 

14. Ensure that your project has at least one C++ source file

Currently, the PureWeb plugin will only successfully be built into your project, if your project contains at least one C++ file. If you already have several C++ files in your project, then no changes are required. If you do not have any C++ files, creating a single empty C++ class from within the Unreal Editor will be sufficient.

 

15. Package the project

Please package your project for Windows only. The folder structure of the zip file should look as follows:

 

Send us the distribution via https://console.pureweb.io

Note: If you do not have an account, please sign up and allow one business day for us to approve your account. Once approved, you are able to upload your project. Our team is notified automatically of newly uploaded projects.

 

 

Additional due diligence: Test locally with pixel streaming only

It is possible to test your Unreal project locally in order to get a better idea of what it might look like once it is deployed to the PureWeb Platform.

Please refer to the following link to for a strep-by-step guide:

https://docs.unrealengine.com/en-US/Platforms/PixelStreaming/PixelStreamingIntro/index.html