Oct 11, 2024

Summary


This week we released a number of small improvements and updates across the entire platform.

Unreal 5.4
While we had unofficial Unreal 5.4 support for users of our dedicated providers for a couple of months now, we now have official 5.4 support for all provider types in PureWeb (dedicated and on-demand).
There are no breaking changes to either the setup workflow or the plugin if you’re using Unreal 5.4. The latest version of the PureWeb plugin built for Unreal 5.4 can be found in our getting started guide.
Keeping with our engine version support matrix, Unreal 5.2 is now deprecated. While 5.2 models may continue to run successfully for some time, it is no longer part of our testing matrix. Additionally, Unreal 5.3 will now only receive platform support, not plugin and SDK support. For more information please see our deprecation policy.

SDK - Precaching Latency Check
When you trigger a launch request, the first thing our SDK does is test the user's network latency to all of our possible server endpoints. This process takes between 0.7 and 2 seconds. We have a number of use cases where an interactive stream doesn’t start immediately when a user navigates to a page, but instead is started in response to some user interaction on that page. An example of this might be a architectural configurator where a user loads a configuration page, but then can toggle to pixel streamed view vs 2D images. In these situations, there are some necessary platform connection activities that can be done in advance of the user launching a stream. By performing these activities when the page loads, you can reduce the perceived time-to-first-frame for your users. To this end, we have now implemented a new await platform.getLatencyMeasurements(); call in our SDK. This call can be made immediately after your call to platform.connect();, which can happen any time before the user action triggers a queueLaunchRequest();. Version 4.10.2 of our SDK was released today with this change, and it can be downloaded on NPM here: npm: @pureweb/platform-sdk .

CoreWeave Nvidia Driver
The Nvidia driver on our CoreWeave On-demand provider has been upgraded to 552.55.

Stability
A number of stability improvements were made this week, particularly with respect to CloudXR streaming processes and model availability on our on-demand CoreWeave providers. If you have any questions on anything above, please reach out on Discord or at support@pureweb.com. And happy streaming!

Oct 1, 2024

Summary

This release update pulls together a number of updates across various parts of PureWeb Reality which have been updated in the last couple of weeks.

New CloudXR Client
We have released an updated set of CloudXR clients, which can be downloaded here.  This package includes version 7.4.2 of the PureWeb Platform CloudXR client, and version 2.1.9 of the PureWeb Android Streamer Client.  For the time being, we are continuing to focus on the 2-client approach for CloudXR, as we’ve found that this provides the most sustainable path for development, while maintaining the best possible streaming performance.  Specific updates to these clients include:

  • Added a refresh button so you if you upload new VR models to the PureWeb platform while the VR client is open, you don’t have to exit / restart your client to see your newly uploaded model.
  • Improved error handling for a variety of workflows, including platform connectivity, configuration json file errors, and token errors.
  • Added support for local game development, similar to our local workflow for web streaming projects.  Instructions on how to use the local development workflow for CloudXR, check out this link.

Other improvements

  • We  added support to the UAE region of AWS as an option for dedicated providers. To make use of this region, you’ll need to be using version 4.10.0 of the PureWeb platform SDK, or newer.
  • A number of UI polish improvements on the newly updated PureWeb Reality console.
  • Security improvements around token checking.
  • Platform stability improvements around model availability accuracy.

Sept 6, 2024

Summary

Today we have released an update to the dependencies in our AWS based on-demand environment. Specifically:

  • The Nvidia driver has been updated to 552.55
  • Updated the MS VC redistributable to the latest version

Regarding the Nvidia driver, we want to share some insights into how we choose what version to upgrade to. Having over a decade of working with cloud GPUs, we’ve learned that the newest Nvidia driver is rarely the best for our platform / use case. Frequently new driver versions introduce compatibility issues with either the underlying infrastructure, or specific visualization libraries like video encoders or rendering libraries (ex. DLSS). In many cases we’ve tested new driver versions that have seriously degraded rendering performance on on either our on-demand or dedicated system or both. We put a lot of attention and testing into jumping driver versions to ensure that the version we pick is universally compatible across all our provider types, and doesn’t negatively impact any of the workloads that run on our platform.

For reference, our AWS dedicated servers are also using v552.55 of the Nvidia driver. Our CoreWeave based infrastructure will be updated in the coming weeks.

If you have any questions about this update, please drop us a line in discord, or reach out to support@pureweb.com.

Happy Streaming!

Sept 5, 2024

Summary

Today we’re releasing some quality of life and stability improvements in the our SDK artifacts (platform-sdk, admin-sdk, and streaming agent).

  • In the admin SDK package (npm: @pureweb/platform-admin-sdk), the authenticate() method, now includes an optional Boolean parameter to tell the SDK whether or not the access token should be automatically refreshed.  The default value for this parameter is true.  In the same vein, we’ve also added a new method called stopAuthenticateRefresh(). This new method allows you have the client access token automatically refreshed until the time of your choosing.  This will give you finer grained control of managing your access tokens when designing a custom auth solution. More on custom auth can be found here.
  • In the platform SDK package (npm: @pureweb/platform-sdk ), we fixed a defect wherein the WebRTC peer connection was not properly closed after verifying client side codec support.

Streamer Reset

Additionally, in the platform SDK we’ve implemented new resetLaunchRequest() and resetStreamer() methods. These will allow you to completely terminate a stream from within your client application, and reset the client application state so you can launch a fresh stream. Previously, you had to refresh your web client to launch a new stream. Now if your workflow requires it, you can terminate and re-launch fresh streams from within the same active page without introducing any memory leaks.

To implement this workflow in your client:

In your App.tsx, retrieve the extra reset arguments from the launch request and streamer hooks:

const [status, launchRequest, queueLaunchRequest, resetLaunchRequest] = useLaunchRequest(
   platform,
   modelDefinition,
   launchRequestOptions
);
const [streamerStatus, emitter, videoStream, audioStream, messageSubject, resetStreamer] = useStreamer(
   platform,
   launchRequest,
   streamerOptions
);

In the launch view, you’ll also want to intercept the streamer status to reset the launch view:

if (streamerStatus === StreamerStatus.Completed) { return ; }

Implement your onClose function:

onClose={async () => { 
    if (launchRequest) { 
        await launchRequest.close(platform);
        // Reset the hooks
        resetLaunchRequest(); 
        resetStreamer(); 
        // Reset loading state
        setLoading(false); 
    } 
}}

Call your new onClose function from wherever you want in your client app.

To see a full implementation of these new APIs in action, we’ve also added a new disconnection button into the client template (npm: @pureweb/cra-template-pureweb-client) where you can see the code for yourself.

Default Stream Time Limit

Finally, we introduced a new default stream time limit into the platform via the Streaming Agent (npm: @pureweb/platform-streaming-agent). This is to help combat the rare instances of sessions that keep running or fail to clean up correctly.

The default time limit is 8 hours. If you’re developing locally using the Streaming Agent, this can be configured either as an argument --maximumRuntime or environment variable PUREWEB_MAXIMUM_RUNTIME. The value is passed in seconds.

If the Streaming Agent terminates due to exceeding the configured maximum runtime, you it will return error code ErrorMaximumRuntimeReached (12).

All of these changes are available in version v4.9.0 of the PureWeb SDK bundle.

Check it out on NPM & happy streaming!

Aug 29, 2024

Summary

Today the PureWeb console is getting a major UI overhaul. Our old console UI served us very well for a few years, but we’ve got some big plans for new console features coming down the pipe, and they need a new home.

Our main goal with this UI overhaul was to more readily surface valuable information that was previously buried in various menus and modal dialog boxes, and in general, reduce the amount of clicking needed to move around between different models, projects, and other settings.

Some of the new quality of life changes that we’ve added include:

  • Dark mode! Click on your account icon in the top right corner, and select ‘theme’ to toggle modes.
  • The home screen now shows all of your available projects along with how those projects are configured (on-demand or dedicated), how many models they contain, and also whether they are Reality projects (i.e. web streaming) or Extended Reality projects (i.e. VR streaming).
  • If you have a large number of projects, the left hand bar now includes a project search function.
  • The notification icon in the top right corner is now much more informative, also giving you the ability to filter previously read messages.
  • We now have a brand new dedicated model page for each model, where you can see and change model settings, and preview your model.

This is just the first step in a series of exciting console updates you’ll be seeing from us, so stay tuned, and as always, happy streaming!

Aug 26, 2024

Summary

We’re excited to announce that as of today’s release, PureWeb Extended Reality, our new VR streaming solution, is now globally available through our dedicated infrastructure providers on AWS.

Running PureWeb Extended Reality on dedicated infrastructure will give you all the same benefits that you’d see for Pixel Streaming or Render Streaming workloads:

  • Pick from many area including United States, Australia, UAE, Brazil, Ireland, Germany, England, Japan, India, and Canada.
  • Faster time to first frame
  • Fully customizable scaling and scheduling behavior
  • Ability to reserve infrastructure capacity

Please reach out to support@pureweb.io or your PureWeb account rep to get started. If you’re already using PureWeb XR, you’ll need to update your client applications, which can be found here: https://developer.pureweb.io/metaquest3-cloudxr-setup/

Other Updates

Since our last update, we also made an improvement in our global routing system to more quickly respond to load increases in certain regions and route around any temporary capacity crunches. This should mean less time queueing for a stream. As is the norm, we also made a number of routine security and availability / stabilization improvements.

Aug 14, 2024

While we have been a bit quiet on the release notes front, rest assured that we’ve been hard at work improving and expanding PureWeb Reality over the last several months. With a major release landing this week, we wanted to highlight these recent changes.

CloudXR Support

First and foremost, we’re excited to announce that PureWeb now supports VR streaming through Nvidia’s CloudXR. Work began on this capability in January, and we have been in closed beta since March, and as of today we’re thrilled to announce that the offering is now generally available. This capability will allow you to run graphically intense VR workloads on the cloud, and interactively stream that content to a lightweight all-in-one headset over the internet.

Here are the quick facts:

  • As of today, we support the Meta Quest 2 / 3 & Pro headsets. If you are interested in using a different headset, please reach out, as we intend to expand our headset support over time, and we’d love to hear about your use case.
  • VR Streaming is supported for both Unreal and Unity models. The currently supported versions of Unreal and Unity are still valid.
  • All workloads currently run on our North American based On-demand providers. We will be adding support for our international Dedicated providers in the next two to three weeks. International support for our On-demand providers will be coming at a later date.
  • We have a ready-to-use lightweight preview client that can be used to consume your VR streams. This client is easily configurable to either directly launch a VR stream, or browser and launch multiple different VR streams within a given project on the PureWeb platform. We will be releasing a customizable client template later this year which will allow you to build a completely bespoke client experience in Unity.
  • VR Streaming is offered a separate license from our existing web-streaming offering. If you’re an existing customer, please reach out to your account manager to learn more about this offering and get set up with access. If you’re not a customer, and interested in learning more, please get in touch.

To learn more about what to expect when using CloudXR on PureWeb Reality, you can check out our Meta Quest - Getting Started Guide.

Streamer IP Address Retention

When negotiating a PureWeb stream, historically, we retained the IP address of the end user in our internal logs for debugging and troubleshooting purposes. However, in an effort to further improve our privacy stance, and only retain the information that is strictly necessary for the operation of the PureWeb platform, all end user IP address information is now anonymized before being written to our logging aggregator.

If you have any questions about what data we do retain, and how we use it, please see this post.

Unreal Microphone Support

As of v4.7.4 of the PureWeb Platform SDK, it is now possible to send web browser microphone inputs to your Unreal application. For more information on how to configure your web client and Unreal application to capture this audio stream, please check out this dev hub article.

Routine Security Updates

As always, we’ve been working hard to ensure that all of the software we use in the development of our platform is as secure and performant as possible. As such we’ve also used several releases over recent months to roll out major updates to key dependencies across our software stack. These updates should be entirely transparent to users.

Jan 26, 2024

Summary

2FA
Today, we’re improving the way you secure access to your PureWeb account, by providing optional two-factor authentication (2FA) for console users.
When you log into the console for the first time, you’ll be prompted to turn on 2FA for your account. Using 2FA is completely optional, but it is an excellent way to improve the security of your account.
For more information on enabling 2FA, please see this article: https://developer.pureweb.io/enabling-console-mfa/.                                  

If you want to disable 2FA, the instructions can be found in this article: https://developer.pureweb.io/disabling-console-mfa/

CoreWeave Security Improvements
We have also released a collection of changes to further improve data security within our CoreWeave based providers. These changes should be completely transparent to end users.

Jan 18, 2024

Summary

Today we’re excited to release an entirely new class of on-demand infrastructure in the PureWeb platform. Taking advantage of the top tier rendering GPUs available in CoreWeave, we are introducing a new High Performance on-demand provider. These new providers, which are available today in both the Western and Eastern United States, are equipped with Nvidia’s powerful RTX A6000 GPUs, 32 GB of RAM, and 10 vCPUs. Capable of powering your most demanding Unreal and Unity streaming projects.

We ran these new providers through their paces with some GPU melting workloads, and we found that our testbench of Unreal applications saw framerate improvements that ranged from 28% to 67%, and our Unity testbench saw improvements ranging from 35% to 48%, when compared to our existing CoreWeave providers.

We also benchmarked against our Nvidia A10G-based dedicated providers, and found that frame rates of the high-performance CoreWeave providers saw improvements ranging from 20% to 132%, depending on the what was being rendered. Depending on the performance characteristics of your model, it can be possible to run these new on-demand providers in a hybrid configuration with a dedicated provider running A10G powered instances for better global reach.

If you’re interested in trying out these new providers, please reach out to your customer success manager, or email support@pureweb.com.

Other releases

We have also released a patch to our Unity plugin (v.3.0.9) available here: https://pureweb-na.s3.amazonaws.com/nightlies/PixelStreaming/com.pureweb.platform-3.0.9.tgz.

This version fixes an issue where touch events from mobile devices were causing a persistent hover effect on UI elements.

Finally, a note about release notes

Over the last year, we’ve rapidly sped up our release cadence. Part of this was done through breaking work down in to smaller releasable units. Due if this, we would often end up publish release notes two or three times a week. Starting in 2024, we’re going to switch to publishing release notes approximately every two weeks. so we can bundle all these updates together, so you’re not inundated with release messaging.

Previous Release Notes