
Solari, Reflect Auto Registration, and Render Diagnostics
2025-08-11
Shadows and RenderLayers
#20327 ensures shadows respect RenderLayers
.
Solari
#20406 introduces a radiance cache for Solari.
Reflect Auto Registration
Do you use Reflection? Tired of forgetting to .register_type
?
As of #15030, non-generic types that derive Reflect
will automatically be registered.
Render Diagnostics
#19191 added GPU spans for all of Bevy's render and compute passes, leading to much nicer Tracy output.
Color Sliders
#20422 introduces color slider widgets, building on top of previous work on gradients.
bevy_mikktspace
In accordance with #19798, bevy_mikktspace is now a standalone crate.
This is a rewrite of the Mikkelsen Tangent Space Algorithm reference implementation in Rust. It is loosely based on mikktspace
, an existing port.

Showcase
Bevy work from the #showcase channel in Discord and around the internet. Use hashtag #bevyengine.

State Machine Editor
showcase
An in-progress editor for bevy_gearbox, a state machine crate. bevy_gearbox is based on XState and bevy_gearbox_editor is based on stately.

Bluesky Visualizer
showcase
A Bevy based visualizer for Bluesky people you follow, using atproto

Gaussian Splatting
showcase
experiments with converting a mesh into gaussian splats with rendering provided by bevy_gaussian_splatting

LoodLoop
showcase
Become a professional figure skater; spin and jump to win the jury's hearts. Be aware of the looping controls!
LoodLoop is a GMTK game jam entry


Nova Looper: GMTK Jam
showcase
Loop around the sun dodging solar radiation (the obstacles). Stay close to the sun to harvest its power, but watch your shields don't get too low!
When the sun goes 'nova, its time to move to the next one, but watch out for black holes in hyperspace!


Satellite Visualizer
showcase
A PBR earth rendered with satellites orbiting around it. Satellites are from Celestrak's free NORAD GP datasets. TLE parsing and orbital mechanics are both done by the sgp4 crate.

Asteroids
showcase
A first Bevy project replicating Asteroids. It is a low-dependency project, using only Bevy and rand.

Crates
New releases to crates.io and substantial updates to existing projects
bevy_egui 0.36
crate_release
bevy_egui is a Bevy integration with egui. The maintainer recently left their job with the intent of becoming a full-time indie Rust gamedev and created a Patreon which helps support this crate (and the maintainer's other projects).

rerecast v0.1.0
crate_release
Rerecast is a Rust port of recastnavigation, the industry-standard navigation mesh generator used by Unreal, Unity, Godot, and other game engines.
There's a neat Bevy integration that looks like this:
fn some_system_that_generates_your_navmesh(mut generator: NavmeshGenerator) {
let agent_radius = 0.6;
let agent_height = 1.8;
let settings = NavmeshSettings::from_agent_3d(agent_radius, agent_height);
// This is a handle to an `Asset<Navmesh>` that is generated asynchroneously!
let navmesh_handle = generator.generate(settings);
}
You can also pre-author your navmesh using a little standalone editor that you can download with cargo install bevy_rerecast_editor
There is also first-party integration for generating navmeshes out of Avian colliders and WIP integration with the pathfinding libraries vleue_navigator and landmass
q_service 0.2.0
crate_release
q_service aims to bring the service model to Bevy.
0.2 is a major update that reworks the entire crate to allow asynchronous init/deinit, asset and resource dependencies, and more predictable state management.
bevy_lint 0.4
crate_release
The bevy linter is a Bevy CLI working group project. This release includes support for automatically applying suggestions with the --fix flag, restriction lints to enforce either Update or FixedUpdate for specific modules, improved Github Action ergonomics and performance, and more!

Educational
Tutorials, deep dives, and other information on developing Bevy applications, games, and plugins
touch input on Android
educational
A note about adding support for touch input on Android in Bevy

animations for a top-down 3D character
educational
A tutorial showing off animations for a top-down 3D character where you can move one way while aiming another (a twin stick shooter).
Deduplicate Default Font Data authored by tim-blackbird
Reflect non-callback components and resources in bevy_core_widgets and bevy_feathers authored by alice-i-cecile
Clean `bevy_tasks` features (Adopted) authored by NthTensor
reduce bevy_gltf dependency on render and pbr authored by atlv24
dont depend on bevy_render in bevy_scene authored by atlv24
fix some camera component links authored by atlv24
add ref doc and extract a couple vars and skip a sqrt in shadow cascades authored by atlv24
Move bevy_mikktspace out of tree authored by atlv24
Make `HierarchyPropagatePlugin` scheduling configurable authored by tim-blackbird
Color sliders authored by viridia
Implement field_at[_mut] for Struct DynamicVariant authored by jhgarner
Remove generic parameter from `Access`, since it's always `ComponentId` authored by chescock
use iterators and zip instead of enumeration and indexing in shadow map cascades authored by atlv24
Use the default directional light intensity constant authored by atlv24
compute world_from_cascade analytically authored by atlv24
Validate directional light shadow map size is power of two authored by atlv24
Add light_consts::lumens::VERY_LARGE_CINEMA_LIGHT authored by atlv24
Remove Manual Type Registrations authored by cart
Improve error for when you try running a one-shot system with wrong `SystemId` type authored by hukasu
Reflect auto registration authored by eugineerd
Use the hierachy plugin to propagate `ComputedNodeContext` authored by ickshonpe
`spec_v2` style and patterns authored by ecoskey
Record render diagnostics for all engine passes authored by jf908
Trim dependencies. authored by nnethercote
Material bind group shader def authored by tychedelia
CI fixes for Rust 1.89 authored by james7132
Use bevy_camera in pbr, core pipelines, render instead of bevy_render::camera re-export authored by atlv24
Add a prelude to bevy_camera authored by atlv24
Solari radiance cache authored by JMS55
Update documentation of HitData coordinates range in ui::picking_backend authored by gwafotapa
Update `rand`, `glam` and `encase` to latest versions authored by Bluefinger
Update toml_edit requirement from 0.22.7 to 0.23.2 authored by mnmaita
Make shadows respect render layers authored by tychedelia
try to fix GitHub Actions permissions authored by mockersf
Use bevy_camera in ui, sprite, text instead of bevy_render::camera re-export authored by atlv24
Use bevy_camera in aa, feathers, gizmos, gltf instead of bevy_render::camera re-export authored by atlv24
Use bevy::camera in examples instead of bevy::render::camera re-export authored by atlv24
Stop using mesh re-exports in-repo and add bevy_mesh prelude authored by atlv24
Make bevy_picking not depend on bevy_render authored by atlv24
Make bevy_animation not depend on bevy_render authored by atlv24
stop re-exporting RenderAssetUsages from bevy_render authored by atlv24
add module doc to bevy_render authored by atlv24
Update docs to use MATERIAL_BIND_GROUP authored by atlv24
Add VERBOSE_SHADER_ERROR authored by atlv24
Want to contribute to Bevy?
Here you can find two types of potential contribution: Pull Requests that might need review and Issues that might need to be worked on.