Three.js r185 Brings a Nanite-Style Rasterizer and Full WebGPU Skinning to the Web

Three.js released r185 on July 1, 2026, and this update is worth your attention if you work with 3D on the web. Two headlining features — a nanite-style rasterizer and full WebGPU skinning with instancing — mark a clear shift toward GPU-native rendering that was simply not possible in WebGL.

A Nanite-Style Rasterizer in the Browser

Unreal Engine's Nanite system made "unlimited polygon budgets" a practical reality for game developers by rendering geometry at per-pixel detail on the GPU, bypassing the traditional triangle pipeline for dense meshes. Three.js r185 ports that concept to WebGPU with a compute-based rasterizer that lets you push millions of triangles without the traditional bottlenecks. The example was renamed from webgpu_compute_nanite-style to webgpu_compute_rasterizer, signaling that this is now considered a stable capability rather than an experiment.

WebGPU Skinning with Instancing

Skeletal animation — the system that drives characters, creatures, and anything with a rig — just got a major WebGPU upgrade. r185 adds a dedicated WebGPU skinning-instancing example and a TSL function that computes skeletal animation for custom compute passes. In practice, this means you can instance skinned meshes at scale: crowds, swarms, and dense particle rigs that were previously CPU-bound are now GPU-compute territory.

The TSL Context: Why This All Matters Now

These additions come as Three.js's shader layer is mid-transition. The Three Shading Language (TSL) lets developers write shaders once and compile to both WGSL (WebGPU) and GLSL (WebGL), removing the need to maintain two parallel shader codebases. r185 continues that push: the new grounded skybox TSL function, the WebGPU skinning TSL helper, and the rasterizer are all authored in TSL-first style.

This matters because WebGPU browser coverage has crossed a meaningful threshold. With Safari 26 adding WebGPU support, roughly 95% of users now run a WebGPU-capable browser, with Three.js falling back to WebGL 2 for the remainder automatically. Writing TSL-first today means shipping WebGPU performance to almost everyone — without giving anything up for those still on WebGL.

Also in r185

  • Removal of deprecated code from earlier migration phases
  • AnimationAction: fix for a time warping bug affecting looped animations
  • BezierInterpolant: refactored inTangents/outTangents handling
  • Bindings / TSL Compute: fixed needsUpdate propagation
  • Updated Three.WebGPU.js bundle

None of these are headline features on their own, but together with the rasterizer and skinning work they paint a library that is systematically closing the gap with native 3D engines. If you haven't tried WebGPU mode yet, r185 is a good moment to experiment — the surface area for real production use cases keeps growing.

The full changelog and migration guide are on the Three.js r185 GitHub release page.