UE5 Nanite in WebGPU

WebGPU support and demo reliability

  • Many users report the demos failing despite enabling WebGPU (especially on Safari and Linux/Chrome, some Android and Windows setups).
  • Errors include missing functions in shaders, misaligned buffer sizes, and device loss on Windows.
  • Some see a generic “No WebGPU available. Please use Chrome” message even when WebGPU is working elsewhere.
  • A subset of users report good performance (e.g., 60–120 FPS on M-series Macs), indicating environment- and driver-specific issues.

64‑bit atomics and visibility buffer design

  • Nanite-style software rasterization relies on 64‑bit atomics to pack depth and other per-pixel data into a single 64‑bit value and do atomic min/max.
  • WebGPU’s lack of 64‑bit atomics forces compromises: reduced depth precision, minimal material data, and visible artifacts.
  • Hardware rasterizers have fixed-function logic doing this depth/visibility work; Nanite moves it into compute.

Why software rasterization can beat hardware for Nanite

  • GPUs shade in 2×2 pixel quads; very small triangles waste work because many shaded pixels lie outside the triangle.
  • Nanite-like approaches use compute shaders (“software rasterization on the GPU”) for tiny triangles and fall back to hardware rasterization for larger ones.
  • In scenes dominated by near-pixel-sized triangles, compute rasterization can be faster; for larger triangles, it’s slower, so a hybrid heuristic is used.
  • There is disagreement on overall cost: some see Nanite as significantly slower than good traditional LOD for typical triangles; others emphasize its gains in small-triangle regimes.

Nanite / virtual geometry concepts and ecosystem

  • Nanite is described as a bundle of techniques: meshlet-based LOD hierarchies, aggressive compression and quantization, per-cluster dynamic LOD, software rasterization, and streaming.
  • Core idea: maintain roughly pixel-level geometric precision and only process the detail actually visible on screen.
  • Similar “virtual geometry” systems exist in other engines (e.g., Bevy); research roots date back at least to a 2009 dynamic mesh simplification dissertation.
  • Some argue the GitHub project name is confusing/trademark-adjacent, since it’s an independent reimplementation rather than UE5’s Nanite itself.

Usability and controls

  • Users praise the technical achievement and visual density but note awkward camera controls on mobile and touchpads.
  • Suggestions include using device orientation APIs for more intuitive mobile interaction.