# R3F WebGPU, WebGL2 Fallback, Tree Shaking

**URL:** <https://discourse.threejs.org/t/r3f-webgpu-webgl2-fallback-tree-shaking/87188>\
**Category:** Questions\
**Created:** [September 25, 2025, 8:11pm UTC](https://discourse.threejs.org/t/r3f-webgpu-webgl2-fallback-tree-shaking/87188 "2025-09-25T20:11:55Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![user-123](https://avatars.discourse-cdn.com/v4/letter/u/e19b73/32.png) [@user-123](https://discourse.threejs.org/u/user-123)\
**Post date:** [September 25, 2025, 8:11pm UTC](https://discourse.threejs.org/t/r3f-webgpu-webgl2-fallback-tree-shaking/87188/1 "2025-09-25T20:11:55Z")

</div>

Hi,

R3F docs state how to use WebGPU ([v9 Migration Guide - React Three Fiber](https://r3f.docs.pmnd.rs/tutorials/v9-migration-guide#webgpu)). Is it still the official way to use it?

If WebGPU isn’t available I assume I have to check it myself before creating the renderer?

What is the recommended way to tree shake this situation? I really don’t want to import the whole three/webgpu package or is it necessary?

Best

---

<div class="post-metadata">

**Author:** ![donmccurdy](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/donmccurdy/32/33209_2.png) [@donmccurdy](https://discourse.threejs.org/u/donmccurdy)\
**Post date:** [September 26, 2025, 5:08am UTC](https://discourse.threejs.org/t/r3f-webgpu-webgl2-fallback-tree-shaking/87188/2 "2025-09-26T05:08:53Z")

</div>

THREE.WebGPURenderer does not require WebGPU support — it includes a fallback to WebGL2 for standard features. You’d need to avoid certain WebGPU features (like compute) if you require the WebGL2 fallback.
