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.