
Exofactory, POLDERS, and Thief
2025-09-15
This week Exofactory shows off their Belt system, and the procedural town demo that has appeared multiple times got an edit mode!
POLDERS also shows off some pathfinding and a few new demos of portal mechanics and Thief sensing appear.
With 0.17's release candidate process in full swing, new PRs coming in are coming in for last minute fixes.
state_scoped_entities is now always enabled, which is great because that's generally what everyone was doing anyway.
A new reflection example shows off how to serialize and deserialize types that derive Reflect without serde's Serialize/Deserialize traits.
A couple of Event and Observer rearchitectures landed, with Observers now being Events and 0.16's Events now being Messages

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



Exofactory belt system
showcase
The belt system for Exofactory, which has more information available at exofactory.net

Crates
New releases to crates.io and substantial updates to existing projects
Skein 0.3.0-rc
crate_release
Skein is a Rust crate and a Blender Addon that combine to allow inserting Components in Blender and instantiating them in Bevy when spawning glTF scenes.
- Blender addon 0.1.11 is out now with support for both 0.16 and 0.17 (the same addon supports both versions transparently)
- bevy_skein 0.3.0-rc.1 is also out with support for bevy 0.17
You can use the bevy cli (or cargo-generate) to try it out with 0.17
bevy new -t rust-adventure/skein --branch template-minimal my-new-project
There's also an ecosystem-crates channel for the project and documentation is available on the website: https://bevyskein.dev/

bevy_flash
crate_release
bevy_flash now supports some filters and blending effects, and it’s available for trial via Git dependency.

bevy_lit 0.7
crate_release
bevy_lit is a 2d lighting crate. 0.7 brings
- Light map downsampling – added a new
LightingSettings2d.scale
option that enables downsampling the light map texture - Light penetration – simulate light bleeding, with configurable intensity and falloff
- Edge highlighting – optional visual effect that emphasizes light boundaries
Fix missed RedrawRequested and WindowCloseRequested events with UpdateMode::Reactive (part 2) [ADOPTED] authored by atlv24
feathers: ensure buttons can change variant dynamically authored by torsteingrindvik
Use DespawnOnExit instead of generic cleanup system authored by Fodesu
Update the 3D examples to use `children!` authored by janis-bhm
Limit float output in some examples to two decimal places. authored by Breakdown-Dog
Put order parameter back in render_to_texture example's camera authored by beholdnec
Set feather's slider's text to use absolute positioning authored by ickshonpe
Introduce MovingPtr as a safer alternative to moving typed values by raw pointer authored by james7132
Hide some full paths in doc links authored by ickshonpe
Remove incorrect doc comment authored by ickshonpe
Refactor system diagnostics to use a single task authored by dloukadakis
Always enable state scoped entities authored by janhohenheim
add reflection serialization example authored by ChristopherBiscardi
Add StartMainPassPostProcessing node for ordering authored by atlv24
add helper functions for registering bundles to world authored by janis-bhm
Make loading GLTF animations optional authored by atlv24
Event Rearchitecture authored by cart
Add `UiRect` constructor functions to `Val` authored by ickshonpe
rename outdated variable authored by atlv24
Add Image::clear() authored by IceSentry
allow toggling projection in antialias example authored by atlv24
remove some dead code authored by atlv24
make taa work with ortho authored by atlv24
Fix `MeshTag` changes having no effect authored by EmbersArc
BufferedEvent -> Message Rename authored by cart
Constify `Val` functions authored by ickshonpe
Tidy up some more doc-links authored by ickshonpe
Renamed `bevy_core_widgets` to `bevy_ui_widgets`. authored by viridia
Rename `WidgetBehaviorPlugins` to `UIWidgetsPlugins` authored by Zeophlite
`RemovedComponents` methods renamed to match `Event` to `Message` rename authored by alice-i-cecile
Add `FeathersPlugins` authored by Zeophlite
Compute light probe matrix earlier and cache in LightProbeInfo #20738 authored by jz009
move utilities from bevy_reflect/derive to bevy_macro_utils. authored by Bleachfuel
Add a `WinitSettings::continuous` constructor authored by ickshonpe
Rename some variables in `TextPipeline` authored by ickshonpe
`TextFont` doc comment fix authored by ickshonpe
Feathers theme now uses `ThemeToken(SmolStr)` instread of &'static str authored by viridia
Update observer_overhaul.md to have more double quotes authored by atlv24
Run condition error tracks system authored by janis-bhm
Use bevy_reflect::Is in standard_widgets_observers and add more comments authored by cart
bevy_reflect: `Is` trait authored by cart
Improve the standard_widgets_observers example authored by cart
Disable publishing for internal crates authored by mockersf
Mitigate stack overflow on large Bundle inserts authored by james7132
Mark `bevy_ui_widgets` as experimental for now authored by alice-i-cecile
Stabler Solari world cache authored by JMS55
Fix links in observer_overhaul.md authored by akimakinai
Update documentation to reflect four cameras in split screen authored by rlneumiller
fps overlay: allow picking through authored by torsteingrindvik
Make `On` documentation more friendly authored by greeble-dev
Fix typo in specialized_ui_transform.md authored by IQuick143
Mark meshes as changed *after* AssetEvents are processed. authored by mrtracy
Make specialization cache cleanup respect material swaps authored by tychedelia
SpawnDetails::spawned_at -> spawn_tick authored by cart
Automatically add Send + Sync + 'static bounds to Event / EntityEvent derives authored by cart
Add deprecated EntityCommands::trigger and EntityWorldMut::trigger authored by cart
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
Lint against the use of unwrap authored by james7132
Convert RenderTarget to `Component` authored by tychedelia
Change defaults for `Tonemapping` based on `tonemapping_luts` feature authored by hukasu
Non-Sync Plugin types authored by james7132
handle panics in required component constructors authored by janis-bhm
Store Resources as components on singleton entities authored by Trashtalk217
Bevy security policy authored by mockersf
Set thumb color to lighter in core_widgets_observers when dragging with pointer not over authored by ickshonpe
Implement exclusive app hooks authored by radiantgurl
Added SSAO support on WebGPU, with R32Float fallback. authored by diyu-motif
Manual font atlas clearing authored by ickshonpe
Seperate `ui::Node` style fields into seperate required components authored by mendelsshop
`MovingPtr<'_,B: Bundle>` impls Bundle authored by janis-bhm
Warn when schedule set is empty authored by janis-bhm
Implements specialization keys `VIEW_PROJECTION_*` in depth prepass for shadow maps authored by Lichtso
make Prepass/ShadowsEnabled methods on Material authored by ecoskey
make material draw functions instance independent authored by ecoskey
Issues Opened this week
Feathers: Slider UI bug authored by torsteingrindvik
`bevy_core_widgets` slider precision rounding issues authored by janis-bhm
Multiple Bevy::App instances cause crashes authored by Atlas16A
`PluginGroupBuilder` needs methods that do not take `self` authored by hukasu
Specialization keys `VIEW_PROJECTION_*` in depth prepass for shadow maps authored by Lichtso
Window resizing can freeze up rendering. authored by IQuick143
Font Aliases and Font Registration authored by viridia
SSAO Not Showing at Clipped Mesh Edges authored by wkwan
`Spawn<B>` now does an unnecssary archetype move / split insert authored by cart
DynamicBundle::Effect is now (almost) vestigial authored by james7132
Improve glTF load ergonomics authored by janhohenheim
Dependencies of immediately loaded nested asset never start loading. authored by mxjp
FPS overlay: Allow users to specify positioning authored by torsteingrindvik
Render the FPS overlay with sprites instead of with UI elements authored by james7132