# Bevy 0.20 ships Solari renderer improvements, WESL shaders, and BSN syntax overhaul

> **Key takeaway:** Bevy 0.20 brings major improvements to its Solari pathtraced renderer, officially adopts the WESL shader language, and overhauls BSN scene syntax to remove template_value wrappers.

**Published:** 2026-10-08T00:00:00+00:00 
**Source:** Bevy Engine News 
**Category:** open-gaming 
**Canonical URL:** https://fosswire.org/news/bevy-020-ships-solari-renderer-improvements-wesl-shaders-and.html 

## Summary
Bevy 0.20 is now available on crates.io with 817 pull requests from 227 contributors. The release makes Solari's ReSTIR optional (off by default) for better performance, adds macOS Metal support, and updates DLSS to 4.5. The engine officially adopts WESL as its shader language, replacing its custom WGSL dialect. BSN scene syntax sees a breaking cleanup that removes template_value wrappers and requires @ prefixes for scene references. New UI widgets join Bevy Feathers, and custom sprite materials are now supported.

## What's new in Bevy 0.20
- **Solari renderer**: ReSTIR is now optional and disabled by default; scene management is retained-mode and optimized for lower CPU cost; supports Atmosphere and EnvironmentMapLight; runs on macOS via Metal but without a built-in denoiser
- **DLSS update**: dlss_wgpu crate updated to DLSS-RR 4.5, requiring the latest DLSS SDK
- **WESL shaders**: Official adoption of WESL (standardized WGSL extension), replacing Bevy's custom WGSL dialect
- **BSN syntax breaking changes**: All scene references require `@` prefix; `template_value` wrappers removed; enums need `Default` + `Clone` instead of `VariantDefaults`; all enum fields must be explicitly specified
- **2D rendering**: Custom shader materials for Sprites; 2D mesh materials can be extended like 3D materials
- **UI**: Bevy Feathers gains Color Input, Scrollable List View, Dropdown Selection, Lazy Menu; Number Input is now scrubbable; Headless Tab Widgets added
- **Camera**: New Pan Orbit Camera for CAD-style scene navigation

## Why it matters
The BSN syntax changes break existing 0.19 scenes but simplify long-term maintenance by removing template_value boilerplate. WESL adoption positions Bevy around a community shader standard rather than a custom dialect, potentially improving portability and tooling. Making ReSTIR optional trades some shadow quality for broader hardware accessibility.