Skip to content

dwalter/godotwebgpu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81,071 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Engine logo

Godot WebGPU

🚀 Godot Web Games are now 5x faster 🚀

Godot WebGPU — 3D Platformer Demo

Beta Godot 4.6.2 WebGPU 1.0 Compute Shaders Chrome 113+ Safari 18+ Firefox 120+ Chrome Android Safari iOS

Mobile Renderer All Demos Passing AI Generated Made for Shiny Gen Free & Open Source

Documentation GitHub Repo Proposal #6646


5x
FPS vs WebGL
80%
FPS vs Native
20K+
Lines Written
146
Shaders Converted

Looking for the original Godot Engine README? See GODOT_README.md.


Frequently Asked Questions

Common questions about the WebGPU backend — architecture, performance, compatibility, and more.

Read the FAQ →


Development Journey

I'm David Walter, the developer of Shiny Gen. I needed better performance on Godot Web and compute shader support for Shiny Gen. Instead of switching to three.js, I decided to stick with Godot and implement WebGPU support. Now Shiny Gen runs on Godot WebGPU — super optimized and with compute shaders.

Date Milestone
March 10, 2026 Started development. Forked Godot 4.6.2, began implementing the WebGPU rendering driver.
March — May 2026 Built the full WebGPU backend over ~2 months, working for 4-12 hours a day with Claude Opus 4.6.
May 10, 2026 Public beta release. 146 shaders precompiled, 10 demos, 6 benchmarks, zero GPU errors across Chrome, Firefox, and Safari.

Browser Compatibility

Platform Browser Status
macOS Chrome 113+ 100%
macOS Safari 18+ 100%
macOS Firefox 100%
Android Chrome Mostly (wip)
iOS Safari Mostly (wip)
Windows Any TODO
Linux Any TODO

Live Demos

Try each demo in your browser at godotwebgpu.com. WebGPU requires Chrome 113+ or Safari 18+.

GPU Particles 2D
GPU Particles 2D

2D • Particle trails, collision, multiple emitters • NEW on Web
Compute Texture
Compute Texture

Compute • Compute shader populating textures in real-time • NEW on Web
GPU Particles 3D
GPU Particles 3D

3D • Compute-driven particles: fire, burst effects • NEW on Web
Compute Heightmap
Compute Heightmap

Compute • GPU compute shader generating terrain heightmap • NEW on Web
2D Platformer
2D Platformer

2D • Sprites, parallax backgrounds, physics
3D Platformer
3D Platformer

3D • PBR materials, directional shadows, CharacterBody3D
Lights & Shadows
Lights & Shadows

3D • Directional, omni, spot lights with PCSS shadows
Sprite Shaders
Sprite Shaders

2D • Outline, blur, shadow, silhouette effects
GUI in 3D
GUI in 3D

Viewport • SubViewport rendering 2D GUI on a 3D surface
Control Gallery
Control Gallery

UI • Full showcase of all Godot UI controls

Performance Benchmarks

Stress tests comparing WebGPU (Forward Mobile) vs WebGL (Compatibility) at high object counts. FPS measured on Mac Studio M3 Ultra, Chrome 134.

Try all benchmarks live at godotwebgpu.com/#benchmarks.

Benchmark Description WebGPU vs WebGL
Sprites Bouncing sprites with random colors 5x faster
PBR Sphere High-poly PBR sphere with directional shadow 4x faster
Cubes + Lights Rotating cubes with shadow-casting lights 4x faster
GPU Particles GPU particles with gradient colors 5x faster
Skeletal Animation GPU-skinned cylinders with bone animations New
Other Effects SSAO + Bloom + SubViewport with PBR cubes New

Downloads

Clone the repo and build the engine yourself.

Pre-built macOS editor with WebGPU export support.


Building from Source

# WebGPU-only release template:
scons platform=web target=template_release dlink_enabled=yes webgpu=yes opengl3=no threads=no

Requirements:

  • Emscripten 4.0.10+ (for the emdawnwebgpu port)
  • No Rust toolchain needed (Tint C++ translator is compiled directly into the engine)
  • Standard Godot build dependencies (SCons, Python, C++ compiler)

Documentation

In-depth technical documentation for the WebGPU backend.

High-level architecture, key design decisions, shader pipeline, and how the WebGPU backend compares to Vulkan/Metal.

Driver core, command recording, bind groups, shader pipeline details, texture/buffer operations, and build system.

The journey from 3.25x slower to parity — staging buffers, shadow pass merging, instance batching, and IPC reduction.

Resource lifecycle guarantees, cross-browser compatibility, error handling, testing coverage, and known limitations.

Common questions about the WebGPU backend — architecture, performance, compatibility, and more.


Key Stats

Metric Value
Total new code ~20,000+ lines
Driver implementation 7,733 lines (single .cpp)
Shaders converted 146 (SPIR-V → WGSL via Tint)
Renderer Forward Mobile
Performance vs native ~80% of Vulkan/Metal FPS
Performance vs WebGL Up to 5x faster
Browser support Chrome 113+, Firefox 120+, Safari 18+, Chrome Android, Safari iOS

Sponsored by Shiny Gen AI

Godot WebGPU, Shiny Gen AI, and David Walter are not directly affiliated with or endorsed by the Godot Foundation. It uses the GODOT® name and logos under a permissive license granted by the Godot Foundation. Godot WebGPU is a free and open source fork of the Godot Engine. Shiny Gen is a game maker app built with Godot. And David Walter is the developer of Shiny Gen and Godot WebGPU.

About

Godot Engine – Multi-platform 2D and 3D game engine

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 84.6%
  • C# 3.1%
  • C 3.0%
  • Java 2.7%
  • GLSL 1.7%
  • Objective-C++ 1.5%
  • Other 3.4%