• A game developed in Unreal Engine 5.1
    (If you are using Unreal 4.27, click here for preparation instructions)
  • PureWeb React web client template and SDK version 3.22 or later

Deprecation Notice

With the newly added support for 5.1, we are dropping SDK support for UE 5.0. Our officially supported Unreal engine versions are now:

  • 5.1.x Full SDK and Platform support
  • 5.0.x Platform support only
  • 4.27.x Full SDK and Platform support

Click here for more information on our deprecation policy.

Upgrade to UE 5.1

If you are upgrading an Unreal project that has previously included a version of the PureWeb plugin, please follow the upgrade steps outlined here.


Like Unreal 5.0.x, version 5.1 still has some challenges related to resizing in Pixel Streaming. Hence, the resizing capabilities provided by our Unreal 5.1 plugin are not equivalent to what is present in our Unreal 4.27 plugin.

Resizing: In Unreal 5.1, Epic re-introduced the ability to resize the game viewport. In our testing of this capability, we found it fairly easy to crash the Unreal game when aggressively resizing. While this only happens about 20% of the time, it’s far too frequent for us to feel confident about supporting this capability. We found that the root cause of this issue is within Unreal’s Pixel Streaming plugin and have escalated a support issue with Epic’s team. We hope to provide full support for re-sizing in the New Year.

Until support for full resize is released by Epic, the game will stream to the browser at whatever resolution the game was initialized at.

In order to aid in this, we’ve introduced two new sizing command line arguments in our Unreal plugin:
-PixelStreamingResX=1920 -PixelStreamingResY=1080.

These arguments will allow you to set the initial size of your stream when your model launches. However, because UE5.1 only propagates resolution changes into Pixel Streaming one time (during initialization), subsequent calls to resize the pixel stream (i.e. from the browser) do not currently work.

You can add these command line arguments under the Runtime Customizations section of your Model Details screen in the PureWeb console.

SDK & Collaboration: Changes in UE5.1 have necessitated a new platform SDK (v3.22), so upgrading your client SDK to this version or higher will be required.

Collaboration will not work with UE 5.1 at this time.

Prepare Your Unreal Project For Cloud Deployment

Create a C++ Class If Necessary

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 some in your project, then you can skip to the next step.

If you do not have any C++ files in your project, creating a single empty C++ class in the Unreal Editor will be sufficient.

From the menu bar, click Tools/New C++ Class, click "None", give your class a name and click the "Create Class" button.

NOTE: You will likely need to close and reopen the project and allow the Unreal Editor to rebuild the project before continuing with the next step.

Add the PureWeb Plugin

In order to stream your game on the PureWeb Reality platform, you’ll need to download the latest version of the PureWeb Platform Unreal 5.1 plugin.

Browse to the project folder for your game, and in the folder that contains [ProjectName].uproject create a folder called Plugins if one doesn’t already exist.

Unzip the PureWeb Platform plugin, putting the PureWeb folder into the Plugins folder from the previous step. You should have a folder structure that resembles the following:


The PureWeb Platform Plugin should now show up in the list of installed plugins. Make sure that the box next to Enabled is checked. You may need to close and reopen your project for the PureWeb Platform Plugin to become visible.

NOTE: When you add our plugin, it will also enable Unreal's built-in Pixel Streaming plugin.

Add the PureWeb actor to your scene

In the Content Browser, click on PureWeb Platform Plugin Content and drag the PureWebActor into the scene.

Note: If you do not see the PureWeb Content in the Content Browser, click on "Settings" in the top right of the content browser and enable "Show Plugin content".

Configure 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, but we want to set this cursor to None in the Pixel Streaming Configuration before packaging.

Open the Project Settings window and scroll down to PixelStreaming under the Plugins heading. Change the setting for Pixel Streamer Default Cursor Class Name to None.

For most projects, you will want to configure your Viewport to only capture during mouse down. The Default Viewport Mouse Capture Mode setting is found under Engine - Input\Viewport Properties in the Project Settings window.

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 so we recommend disabling it.

The Motion Blur setting can be found under Engine - Rendering\Default Settings in the Project Settings window.

Enable “Hardware Video Decoder”

When playing back full motion video (FMV) in your project you may want to activate Hardware Accelerated Video Decoding. Although currently experimental, enabling this feature reduces the strain on the CPU.

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

Package Your Project

Package your project for Windows only, and please do not use spaces in your folder or file names.

We recommend using the default Windows compression tool to zip your game package prior to uploading it to your console account.

The folder structure of the zip file should look similar to this:

Unreal Package Folder Structure
Note: In some cases the Source/Programs folder might not be created and the PixelStreaming folder will be created elsewhere (such as Samples). Provided the PixelStreaming folder is present, the game package should function correctly on our platform.

Next Steps

Now that your project is configured and packaged you’re ready to: