Bevy Weekly #4: Motion Blur Speedup, Shadow Cascade Panic Fix, Rumble Regression Fix
- Commits summarized
- 6
- Period
- Jun 29 - Jul 05, 2026
- Published
- Jul 06, 2026
Bevy Weekly #4: Performance, Bugfixes, and Polish (June 29 – July 5, 2026)
Who should read this: Bevy engine contributors and game developers tracking core rendering performance, shadow cascade correctness, gamepad support, and general project health.
This issue covers 6 commits merged during the week of June 29–July 5, 2026. While the commit volume is light, the highlights include a meaningful motion-blur performance win, a long-standing shadow panic fix, a gamepad rumble regression, and several documentation improvements.
Rendering & Performance
🏎️ Motion Blur: Only store previous frame's transform (3.68× faster)
Patrick Walton (5558f7bb) refactored the write_previous_input_buffers pass to store only the previous frame's transform instead of the full 24-word MeshInputUniform. Since motion blur only needs the transform, this cuts the median time from 240.1 µs to 65.33 µs on bevy_city --no-cpu-culling — a 3.68× speedup.
This also paves the way for sparsely updating only the fields that actually change per frame.
📦 SmallVec capacity bump for draw functions
Luo Zhihao (81127b3f) increased MaterialProperties::draw_functions inline capacity from 4 to 11. With 11 draw functions registered, the previous setting offered no heap-avoidance benefit. Since PreparedMaterial lives on the heap anyway, this change is free.
Bug Fixes
🐛 Fix panic in check_dir_light_mesh_visibility
Dylan Sechet (306aaed7) fixed a panic (#24804) triggered when cascade count increased on a frame where some threads remained idle. The fix resizes thread-local cascade buffers before the par_iter loop so that stale buffer lengths don't cause out-of-bounds indexing.
🎮 Fix weak rumble motor never being driven in bevy_gilrs
Francis De Brabandere (9bc5b6e6) corrected a copy-paste bug where the weak (high-frequency) rumble motor was mistakenly mapped to BaseEffectType::Strong, causing both motors to drive the strong motor. A regression test (motors_map_to_their_own_effects) now validates the mapping. Manually tested on Linux with a DualSense controller.
Documentation & Polish
📖 Document settings save location and TOML format
Akshit joshi (0eac08ae) added documentation covering where SettingsPlugin writes data on Linux, macOS, Windows, and WASM, and notes that the format is TOML. Closes #24699.
🔗 Fix archived RFCs repo link in README
Riaz Amlani (e6f39cb2) fixed a broken link in the project README (#24709).
That's all for this quiet week. See you next issue!