Public access to WebGPU (experimental) in Unity 6.1

Greeting from the Graphics team,

We are happy to announce that Unity 6000.1 introduces public access for the WebGPU graphics API, in experimental state. To learn more about WebGPU, we recommend you check the initial announcement: Early access to the new WebGPU backend.

You can experiment by fetching the URP 3D Sample project from the Unity Hub, which now works with the WebGPU API. To do this, we recommend you follow these steps:

  1. Open the Build Profiles menu, and switch to the “Web” platform. Disable all scenes except “OasisScene”.
  2. Navigate to Project Settings-> Player and disable “Auto Graphics API”. Add WebGPU (experimental) and move it to the top of the graphics API list.
  3. Navigate to Project Settings-> Quality and set the quality level to either “Mobile High” or “PC Low”.

You can now build a Web Player for the Oasis demo, using WebGPU:


Getting started with WebGPU:

Before getting started with WebGPU, please check the new documentation pages, which cover the various limitations and best practices: Unity - Manual: WebGPU (Experimental)

Following this change, you can now find WebGPU in the Player Settings for the Web Player, alongside the older WebGL API:

  1. Open the project’s Build Profiles panel:

“File”->“Build Profiles”

  1. In the Platforms list, select “Web” and then click “Switch Platform”.
  2. Navigate to the Player Settings panel:

“Edit”->“Project Settings”->“Player”

  1. Under the “Other Settings” section, disable the “Auto Graphics API” checkbox.
  2. Add “WebGPU” to the Graphics API list, and set it as the first priority above WebGL:


Platform Support

WebGPU browser support is still in development, and your mileage my vary. As of December 2024, the following browsers are known to provide WebGPU support, in their latest versions:

  • Windows: Chrome, Microsoft Edge
  • macOS: Chrome
  • Android: Chrome

Additional browsers provide experimental support for WebGPU, using an optional feature flag. We recommend you track WebGPU browser support here: https://caniuse.com/webgpu


We will continue to improve WebGPU stability and performance, working towards production readiness as soon as possible. One key improvement in Unity 6, is support for the SRP Batcher to ensure optimal CPU performance during rendering.

To test these improvements, we collaborated with Stratton Games to develop “Project Pristamic”. This case-study takes advantage of the unique benefits of WebGPU, with an emphasis on Compute, to parallelize heavy calculations on the GPU and improve both performance and fidelity. VFX Graph was utilized to render complex visual effects, while conserving memory by reducing the need for pre-rendered assets:

webgpu-projectprismatic
Project Prismatic - Unite 2024 Demo

We recommend you check the latest WebGPU session from Unite 2024, presented by @brendanduncan_u3d and our friends from Stratton Games: Better in a browser: Big advances for gaming with Unity Web | Unite 2024


Please give this a try in Unity 6.1, and let us know what you think :slight_smile:

As always, you can follow our progress via the public roadmap. If you cannot find the feature you are looking for, feel free to submit a feature request, or contact the team directly in the graphics forum.

22 Likes

This is HUGE for Web Games!

Hats off to the Unity team for this great achievement :raised_hands:

@dnach Did you host the build somewhere to test it out on browsers?

Hello Unity 6.1 WebGPU Team…
I have been looking forward to the new WebGPU system for a long long time…
You guys rock!!!
I have run through the “Oasis” WebGPU tutorial after running through the previous Unity 6 version "CockPit"WebGL tutorial (Great Documentation!) and found it very easy to set up and build and run! But I did then need to crunch the original “Oasis” 6.1 build from 449 meg down to 59 meg. Then, I was able to add the build to unity.play…|
She looks great and runs well through unity.play
Thanks sooooo much!!!

My scene is a 3D scene. When I use version 6000.0.30f1 to build the WebGPU version, the frame rate is not much different from WebGL(40-50fps)Are there any rendering settings that need to be adjusted? I am using the default mobile_renderer and have changed the render path to Forward instead of Forward+ .
Additional explanation:
It might be that the use of volumetric lighting caused the performance drop. However, doesn’t WebGPU accelerate the computation of volumetric lighting?