This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

Raytraced Lighting, Bevy Jam Voting, and a Hanabi Particle Editor

2025-06-16

The RustWeek talks are out! Including some from Alice (of Bevy) and Jos (of POLDERS).

There are a number of Bevy Jam entries that could have been showcases this week, but I've decided to not include them to avoid impacting voting during the voting period (Don't forget to vote!)

There's also some exciting work on raytraced lighting, a new Observers working group, and in the wider community: a prototype of a Hanabi Particle editor.

Solari

solari demo

Solari is the name given to Bevy's raytraced lighting effort, which has seen two plugins merge in #19058.

  • RaytracingScenePlugin includes BLAS and TLAS building, geometry and texture binding, sampling functions
  • PathtracingPlugin is a non-realtime path tracer intended to serve as a testbed and reference

It is notable that this is early work! This merged work is not something you can drop into a game. However you can run the solari example to see the reference path tracer in action if you have a suitable GPU.

Observers

With the Observers Overhaul working group in action, #19596 has renamed Trigger to On, moving the common OnEvent prefix off of the event, improving ergonomics.

app.add_observer(|trigger: On<Explode>| {
    info!("Entity {} exploded!", trigger.target());
});

These improved ergonomics become even more apparent when considering future proposals, such as multi-event observers:

trigger: On<(
    Add<Pressed>,
    Remove<Pressed>,
    Add<InteractionDisabled>,
    Remove<InteractionDisabled>,
    Insert<Hovered>,
)>,

Observers also got a documentation refresh in #19590 and Entity::PLACEHOLDER was removed in #19440, turning Trigger::target() return value into an Option<Entity>.

Core Widgets

"Headless widgets" are a fairly common feature of modern UI frameworks, bundling all of the functionality you'd want without the visuals, which can make it easier to build accessible, functional UI.

#19366 introduces the first widget: the Core Button.

Specialized UI Transform

#16615 makes a distinction between Transform for UI work with the new UiTransform and UiGlobalTransform.

Improve Bevy's double-precision story for third-party crates

#19194 improves Bevy's double-precision story, making a few necessary changes to bevy_math so that a new bevy_dmath which supports double-precision can exist.

Showcase

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

raymarcher

Raymarcher

showcase

More progress on this raymarcher project. The plan is to open source the code after its finished.

hanabi particle editor

Hanabi Particle Editor

showcase

A prototype editor for Hanabi Particle assets. Built with Bevy as the viewer and gpui for the editor

player controller

Floor Detection

showcase

working floor detection for this character controller.

mouse overlay

Mouse Overlay

showcase

A "mouse overlay" implemented as a Bevy application with a full screen transparent window that doesn't capture mouse hits.

DAW: Flight sim

DAW: Flight sim

showcase

Recent changes to this flight sim include upgrading to Bevy's atmospherics and rendering of rear-view mirrors.

train

Train Experiment

showcase

An experiment in trains moving from place to place

darkcave

Darkcave Voxels

showcase

This dark cave voxel demo has a render distance of 16, meaning 33x33 chunk grid, while each chunk is 32x64x32 blocks, so equivalent of minecraft's 32 render distance.

bunguette

Bunguette

showcase

Bunguette was made using Bevy for the TGC Game Jam. Gameplay preview is available on YouTube and you can play it on Itch.io.

space sim

WIP 3D space sim

showcase

A WIP 3D space sim. It's multiplayer and set in a simulated galaxy, with physics based on real Newtonian mechanics. The focus of the game is PVP with the goal of expanding your empire with colonies. The game is built on cBournhonesque’s [lightyear](https://github.com/cBournhonesque/lightyear] for multiplayer networking and big_space.

touchdesigner

Bevy as Touchdesigner Plugin

showcase

touchdesigner is a creative technology platform and rendering editor that is used to power large scale interactive installations. in the video here the result of a render in touchdesigner is passed into a node running bevy's post-processing chromatic aberration effect, which is modulated by another lut texture generated by touchdesigner. this is all done using cuda/vulkan interop via wgpu-hal with all textures kept on device!

moebius shader

Moebius shader

showcase

A Moebius shader inspired by this YouTube video. There are no plans to open source the implementation at this time.

Crates

New releases to crates.io and substantial updates to existing projects

bevy_simple_screen_boxing

crate_release

bevy_simple_screen_boxing is a plugin that aims to make Pillarboxing/Letterboxing easy to use. Add the CameraBoxingPlugin, and then add the CameraBox Component on any Cameras you want to have boxing on.

Devlogs

vlog style updates from long-term projects

POLDERS: The Bevy Engine in Action - Jos Feenstra

devlog

Jos's talk from RustWeek 2025, covering "Dionysian Rust" in the context of Polders and Bevy.

Educational

Tutorials, deep dives, and other information on developing Bevy applications, games, and plugins

Bevy's immutable components: managing side effects in a parallel world - Alice Ivy Cecile

educational

Alice's RustWeek 2025 talk on immutable components

Pull Requests Merged This Week
Contributing

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.

How do I contribute?

Pull Requests Opened this week

Issues Opened this week