
Simulo, Bean Defender, and Toroban!
2025-12-08
This week debugging applications with multiple cameras gets easier with a new debug_group feature implementation.
While #22016 introduces TypeData dependencies, which means type data like Resource can depend on Component. This in turn makes the following code:
#[derive(Resource, Reflect)]
#[reflect(Resource, Component)]
struct Thing;
reduce to
#[derive(Resource, Reflect)]
#[reflect(Resource)]
struct Thing;

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

Pathfinding Playground
showcase
A visualizer for pathfinding algorithms powered by WASM. You can use any language supported by WIT to generate API bindings, run your pathfinding algorithm and see how it works

Cyclone
showcase
A cyclone built with shaders and bevy_volumetric_clouds in the background.
There are three volumes: the cyclone sheath, the ground cloud, and the orbiting debris field. The cyclone meanders within a fixed radius. It is controlled by wind speed linked to bevy_volumetric_clouds. As you can see, it is a windy day.

bevy_reflect_inspect
showcase
A custom Reflection-based editor that suits the authors use case. There won't be a release but it is open source.

Simulo on Steam!
showcase
A 2D physics sandbox game where you can build and share creations. Features include a simple and intuitive interface, temperature, and destructible ragdolls.
Uses bevy_flair, bevy_blur_regions and TypeScript.

Bean Defender
showcase
Inspired by Bad North, this 3d Bevy game as build using Blender alongside Avian for physics, bevy_landmass and bevy_rerecast for pathfinding.


csv_god_game
showcase
A small god game powered entirely by CSV files. Made mostly for the purpose of experimenting with CSV-based workflows with bevy_asset. You can modify the items and recipes in the two CSV files (in assets) to turn this into an entirely custom silly god game.

Toroban on Steam!
showcase
Toroban is an infinitely wrapping puzzle game, now available on Steam!

World Generation with fast_surface_nets
showcase
World generation using fast_surface_nets with streaming and collision.

Crates
New releases to crates.io and substantial updates to existing projects
bevy_nested_tooltips
crate_release
Inspired by the Tooltips of Crusader Kings 3 and Victoria 3
A library for creating headless(unstyled) tooltips that can be arbitrarily nested and highlight other nodes.
lore
crate_release
A small logic programming engine (effectively the backend of a system like prolog) inspired somewhat by flecs' query engine
bevy_malek_async 0.2
crate_release
bevy_malek_async is a async runtime agnostic crate that allows you to interact with the bevy ECS from any async task. Be it tokio, bevy's task pools, or something else. It contains a single low-ish level primitive to worry about world_id.ecs_task().run_systems(Schedule, || {}).await
This lets you run something like a bevy system in an async task but it's actually more powerful than a normal bevy system!
Importantly you can pass local mutable state inside and outside of this closure, something you cannot accomplish with normal bevy systems!
// Showcasing how you can mutably access variables from outside the closure
let mut my_thing = String::new();
world_id.ecs_task::<()>().run_system(PreUpdate, |()| {
my_thing.push('h');
}).await;
my_thing.push('i');
The implementation of this is 0 copy, and works with non-send data like &mut. It is implemented with extremely high level performance considerations so should be suitable for all sorts of very expensive logic that send based, channel based, or copy based async interactions are not viable for.
Bevy Replicon 0.37.0
crate_release
bevy_replicon is a crate for server-authoritative networking.
This release features a new visibility system. It's component-driven, so you don't have to maintain visibility separately from your gameplay logic. And it now supports both component and entity visibility.

bevy_live_wallpaper v0.1.0
crate_release
bevy_live_wallpaper is a Bevy plugin that renders your scene into a desktop background. Currently Wayland, X11, and Windows are supported.

aalo 0.1
crate_release
aalo aka bevy-inspector-haalka is a bevy_ui-native inspector built with haalka which aims to port much of the behavior of bevy-inspector-egui to bevy_ui

Devlogs
vlog style updates from long-term projects
Exofactory: Draggable Belts, Electricity, & View Modes
devlog
Shaders and belt dragging for Exofactory.
Full Moon Harvest #6: Folk Technology
devlog
The rebranding of Beetmash was inspired the experience of DevOps Days Wollongong.

Educational
Tutorials, deep dives, and other information on developing Bevy applications, games, and plugins
Mipmaps
educational
Some writing on Mipmaps including a brief overview of what they are, how a couple tools to generate them, and some examples.
Add `From` for `Hashed` authored by Shatur
Fix bevy_math when no alloc is available authored by NiseVoid
`PointerbuttonState::clear` authored by ickshonpe
UI text module refactor authored by ickshonpe
Add debug_group to render graph authored by IceSentry
remove unnecessary clone from `load_font_to_fontdb` authored by ickshonpe
Fix cargo features lint authored by Zeophlite
Fix crash on exit due to destroyed surface texture authored by SarthakSingh31
Fix dragging-over panic authored by ickshonpe
#21980 Fix Component/Relationship derive using non fully qualified path authored by HeartofPhos
Add Clone derive to ViewTarget authored by tychedelia
TypeData dependencies authored by cart
Fix extended_material_bindless example wgpu validation error on MacOS/Metal authored by NicoZweifel
Added required features data to docs export authored by Sigma-dev
Remove redundant `shape_until_scroll` authored by ickshonpe
Ignore text buffer metrics authored by ickshonpe
Clarify docs for `ExtractSchedule` authored by bilsen
Inline register_type_data to cut down on binary size authored by cart
Don't update the text buffer in `text_system` authored by ickshonpe
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.
Pull Requests Opened this week
Accept boxed conditions for `run_if`, and cleanup `IntoScheduleConfigs` authored by ItsDoot
Contiguous access authored by Jenya705
add InfallibleMesh for mesh construction without unwraps authored by robtfm
Add PreviousState Resource accessible in OnEnter authored by Br3nnabee
Configurable Asset Storage authored by brianreavis
Add subtrait for reborrowing QueryData types authored by ecoskey
Add subtrait for reborrowing SystemParam types authored by ecoskey
CI: can filter jobs to run depending on modified files authored by mockersf
Font weight support authored by ickshonpe
Add rust-toolchain file authored by IceSentry
Generic hierarchy propagate authored by molikto
Add `bevy_gltf` settings for animation player and target creation authored by greeble-dev
Adds ViewportCoords Scene to examples/testbed/ui, Removes viewport_debug example authored by kfc35
Issues Opened this week
Deploy Docs GitHub Action Failing since Nov 3 2025 authored by kfc35
Can't serialize `DynamicScene` containing asset loaded from a path authored by djeedai
Bevy picks discrete GPU without a present queue causing "No supported formats for surface" authored by kitt-cat
Bloom doesn't render if other cameras don't have HDR authored by mentalrob
Flaky asset processing test due to multiple processing tasks for same path. authored by andriyDev
Inconsistent behaviour when using SpawnRelated with Observers authored by Freyja-moth
Incorrect layout caused by special characters authored by ThierryBerger
WebGPU degrades Chrome browser performance with Ryzen 5 7600 integrated GPU (Linux) authored by PrimalPimmy





