Repository navigation
v4.7.2.142
2dog 4.7.2.142 adds experimental Forward+ rendering through WebGPU, shader baking for web publishes, and a clearer manual frame-loop API. It targets Godot 4.7.2 and .NET 10.
Changes
- Forward+ through WebGPU on desktop and in browsers. Single-precision Windows, Linux and macOS hosts and single-threaded browser hosts can now use Forward+, including Safari and Chrome on macOS. Adapters with insufficient binding limits fall back to Mobile with a warning. Adapters without
texture-formats-tier2can still run Forward+, with SDFGI and VoxelGI disabled and raster depth of field. - Bake WebGPU shaders when publishing. Web publishes honor
shader_baker/enabledin the selected Web export preset for Forward+ and Mobile. Shipping translated shaders in the game pack avoids the lengthy browser-side translation at first startup. Baking works without a window or display, including on macOS. - Blazor falls back when WebGPU is unavailable.
GodotViewnow logs a warning and starts WebGL 2 Compatibility if it cannot obtain a WebGPU device, allowing compatible game content to start in more browsers. This fallback happens before startup; it does not recover from later device loss. - A simpler manual frame loop.
Engine.Update()returnstruewhile Godot keeps running andfalsewhen it quits or requests exit. Host integrations, examples and templates use the new API;Iteration()remains available but is deprecated. - Clearer web loading feedback and hosting guidance. Web and WebXR templates use a continuous loading animation that keeps moving while engine startup blocks the page. The web guide also explains why gzip-only deployment saves upload space but gives players larger downloads than Brotli and requires browser decompression support.
Upgrading
Commit your project changes, then run from the Godot project directory:
dnx 2dog@4.7.2.142 updateManaged packages: 4.7.2.142. Native and tools packages: 4.7.2.55.
For custom frame loops, replace while (!engine.Iteration()) with:
while (engine.Update())
{
// One frame has completed.
}Iteration() keeps its old return value: true means exit. Update() returns the inverse, so change the condition when migrating. Dispose the engine after the loop stops.
WebGPU selection has changed: --rendering-driver webgpu previously selected Mobile; it now selects Forward+. To retain Mobile, pass --rendering-method mobile as well. In Blazor, add that option to GodotView.Args when using RenderingDriver="webgpu". Web bundling now selects WebGPU for either renderer/rendering_method.web="forward_plus" or "mobile"; new template projects still default to Compatibility.
WebGPU remains experimental and requires single precision; browser hosts must also be single-threaded and use a secure context. Android, double-precision and threaded browser payloads do not support it. Forward+ has adapter and scene limits, including at most 4 lightmaps and 2 VoxelGIs per frame; see adapter and shader limits.
To adopt shader baking, enable shader_baker/enabled in the selected Web export preset. Publishing then needs a GPU or software adapter such as lavapipe, using Vulkan or Metal on macOS, even though no display is required. Baking increases the pack size; see the WebGPU publishing guide.
Existing Web/WebXR hosts need a manual edit to adopt the loading animation. Copy the status-bar CSS, markup and progress-handling changes from the released Web template or WebXR template. A package update does not rewrite your wwwroot/index.html.
Full Changelog: v4.7.2.139...v4.7.2.142