Reserved Streams introduce a new capability to the platform, allowing individual models to be launched with very fast times to the first frame (TTFF)—typically within 2 seconds.

To leverage this functionality, models must be deployed on scheduled or running instances. If a model is not deployed on these services, an alternative approach is to use the pre-launch functionality. More details about pre-launch functionality can be found in the following article:

Enabling Pre-Launch Functionality in Your Custom Client
To use the Pre-Launch functionality in your custom client, you must upgrade the client to the new 5.0.1 SDK version. Once upgraded, follow these steps to integrate Pre-Launch into your application. Updating the Launch Request HookIn your main App.tsx file, where you issue a launch request, import

For the best user experience, a custom client can combine both Reserved Streams and Pre-Launch functionalities.

Updating the Custom Client for Reserved Streams

To configure and serve a model using Reserved Streams, the custom client must be updated to SDK version 5.0.1 or higher. After upgrading the SDK, only a minimal update is required.

Replacing API Calls

You need to replace two existing API calls in your client with a new one.

Before (Old API Calls)

await platform.useSessionCredentials(clientOptions.ProjectId, clientOptions.ProjectToken);
await platform.connect();

After (New API Call)

await platform.launchRequestAccess({
  projectId: clientOptions.ProjectId,
  modelId: clientOptions.ModelId,
  projectToken: clientOptions.ProjectToken
});

This is the only required change—everything else will work out of the box.


Enabling Reserved Streams

After updating the client, models can be configured to use Reserved Streams. However, this functionality is not enabled by default.

  • For existing and new clients using our embedded Preview, Reserved Streams are automatically available. All you need to do is contact Customer Support and request a model configuration update.
  • For custom clients, you must ensure the client is updated to SDK version 5.0.1 or higher before enabling Reserved Streams.
🔹 Note: We do not guarantee stability for clients using a lower SDK version.

As mentioned earlier, Reserved Streams can work alongside the pre-launch functionality. If a Ready Stream is unavailable, the client will automatically revert to Pre-Launch mode, ensuring minimal delays for the user.


Important Notes

Since Reserved Streams keep the game in a running state, you must ensure the game can wait for the client to connect if needed.

If your game requires the client to send an initial message before proceeding, you are responsible for implementing a suspension mode that waits for the client’s connection.

For details on implementing messaging between the client and the game, refer to the following article:

Send a message from the web client and process it in Unreal
This is part 2 of the “Web client communication to Unreal and back” series. You will need to have read and understood the steps in Test streaming your project locally before proceeding. For ease of explanation, we have created a new project in the PureWeb Reality console and have started
Web client communication to Unity and back
The PureWeb SDK provides a host of functionality for communicating between the web client and your streamed Unreal or Unity game package. For folks new to ReactJS or integrating external inputs into game packages, getting started can be a bit daunting. In this example, focused on Unity, we will look