# WEBGPU Compatible Mode

**URL:** <https://forum.babylonjs.com/t/webgpu-compatible-mode/58905>\
**Category:** Questions\
**Created:** [June 9, 2025, 5:02pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905 "2025-06-09T17:02:24Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 9, 2025, 5:02pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/1 "2025-06-09T17:02:25Z")

</div>

Yo @Deltakosh or @sebavan … Is there some kind of WEBGPU compatibility mode or something like that for WEBGPU on the playground that i am missing when trying to use in a boiler plate template ?

I can load the samplescene.gltf and playerarmeture.gltf just fine on the playground in webgpu:

> **[Babylon.js Playground](https://playground.babylonjs.com/index.html?webgpu&BabylonToolkit#TWDYSM)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

But when i create a app from scratch or use the vite boilerplate template (or any react project)

I get this:

 ![Screenshot 2025-06-09 at 6.56.53 AM](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/8/0/8078093901bec81cff6e7fbbc63614919054ed63.jpeg)

Note: WebGL2 runs fine. Its just webgpu in a project outside of the playground

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 9, 2025, 5:43pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/2 "2025-06-09T17:43:20Z")

</div>

Looks like your code use too many varyings ☹ limited to 16 at the moment

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 9, 2025, 5:59pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/3 "2025-06-09T17:59:45Z")

</div>

by default  
 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/optimized/3X/7/a/7a4feb477a69363bf570c0d76c3912da18e029f6_2_690x54.png)

Not sure if your device can bump it but in the webgpuEngine ctor there is an option to request the max limits 🙂

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 9, 2025, 8:26pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/4 "2025-06-09T20:26:26Z")

</div>

But it runs in the playground just fine:

> **[Babylon.js Playground](https://playground.babylonjs.com/index.html?webgpu&BabylonToolkit#TWDYSM)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 9, 2025, 8:27pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/5 "2025-06-09T20:27:36Z")

</div>

I am not using any custom shaders

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 9, 2025, 8:48pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/6 "2025-06-09T20:48:14Z")

</div>

did you try

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/2/3/23bfb7111726798fc93c885b08c352c366aa5958.png)

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 12:00am UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/7 "2025-06-10T00:00:57Z")

</div>

Yo are da man @sebavan …

its actually called `setMaximumLimits=true` on the WebGPU options

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 12:09am UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/8 "2025-06-10T00:09:39Z")

</div>

I got another one for @sebavan

For some reason on ES6, after 8.0 (may \> 7.50) my same model that works fine UMD and did before, now kinda SQUASHES down

[https://www.babylontoolkit.com/videos/squashedavatar.mp4](https://www.babylontoolkit.com/videos/squashedavatar.mp4)

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 10, 2025, 1:38am UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/9 "2025-06-10T01:38:55Z")

</div>

I have no idea what it could be 😑 @bghgary any clue ?

---

<div class="post-metadata">

**Author:** ![HiGreg](https://avatars.discourse-cdn.com/v4/letter/h/c5a1d2/32.png) [@HiGreg](https://forum.babylonjs.com/u/HiGreg)\
**Post date:** [June 10, 2025, 7:20am UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/10 "2025-06-10T07:20:46Z")

</div>

It looks like meshes are the same size, but connection points are offset vertically during movement. Maybe something to do with bone or animation definitions?

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 3:15pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/11 "2025-06-10T15:15:21Z")

</div>

And it only happens on ESM after V8

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [June 10, 2025, 7:59pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/12 "2025-06-10T19:59:58Z")

</div>

Hmm, I don’t see how UMD and ES6 can change the size of a model.

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 8:30pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/13 "2025-06-10T20:30:12Z")

</div>

Me neither… But the UMD version, loaded here on the playground works just fine:

> **[Babylon.js Playground](https://playground.babylonjs.com/index.html?webgpu&BabylonToolkit#TWDYSM)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 8:34pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/14 "2025-06-10T20:34:47Z")

</div>

Yo @bghgary and @sebavan @Deltakosh

I made two repos…One UMD and one ESM… same App.tsx and Viewer.tsx (excluding the imports)

> **[GitHub - MackeyK24/UMD-StarterAssets: React Starter Assets (UMD)](https://github.com/MackeyK24/UMD-StarterAssets)**
>
> React Starter Assets (UMD)

> **[GitHub - MackeyK24/ES6-StarterAssets: React Starter Assets (ES6)](https://github.com/MackeyK24/ES6-StarterAssets)**
>
> React Starter Assets (ES6)

The ESM version squashes when you run (hold shift to run) and land from a jump

Check you please check them out, see what you can find:

```auto
npm install
npm run dev

```

Thank you so much 🙂

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 10, 2025, 9:02pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/15 "2025-06-10T21:02:26Z")

</div>

Can you try to simplify the code ? This is way too much to troubleshoot efficiently. Can you repro without the unity plugin and only the main character ?

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [June 10, 2025, 11:56pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/16 "2025-06-10T23:56:39Z")

</div>

Im afraid not, its a unity exported player model.

Its really weird, that ES version is all squashed and the UMD is fine. Is same code for both.

@bghgary … Just checking, have you made any skeleton type changes in the GLTF parsing since V8 ?

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [June 11, 2025, 4:00pm UTC](https://forum.babylonjs.com/t/webgpu-compatible-mode/58905/17 "2025-06-11T16:00:54Z")

</div>

> [@MackeyK24](#):
>
> @bghgary … Just checking, have you made any skeleton type changes in the GLTF parsing since V8 ?

I don’t believe so.
