This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

Bevy Jam 6 starts, Hot Reloading Rust, and bevy_seedling

2025-06-02

Bevy Jam 6 starts on the 31st and runs for 9 days, ending the next Sunday night. There are a number of alpha creations worth testing!

Get jammin!

StateScoped

#19435 introduces the ability to clear events when entering a state, not just exiting.

app
  .add_event::<MyGameEvent>()
  .clear_events_on_exit_state::<MyGameEvent>(GameState::Play);

While #19401 enables state scoped events on computed states.

Image::resize_in_place

#19410 introduces a new Image::resize_in_place method to

new box_shadow example

box_shadow

#19345 introduces a new, configurable, box-shadow example.

RustWeek Examples

cooldowns

Following on the RustWeek work, a new usages category was added to the examples and a cooldown example was introduced in #19234

context menu

#19245 also adds a context menu.

Dir4

Bevy has Dir2 and Dir3 types that wrap normalized Vec2 and Vec3, but there isn't a Dir4 type that wraps a normalized Vec4. That Dir4 was added in #19223.

Hdr Component

In #18873 the Camera::hdr field was separated out into a new component: Hdr.

commands.spawn((Camera3d, Hdr));

which allows it to be required by other functionality like Bloom

#[require(Hdr)]
pub struct Bloom;

Remove Shader weak_handles

#19137 introduced the new load_shader_library macro which is being put to good use in a number of PRs to remove the use of weak_handles in accordance with #19024

Showcase

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

hot-reload flappybird

Hot Reload Flappy Bird

showcase

Writing a Flappy Bird clone while using subsecond for hot-reloaded Rust!

chartrs

chart-rs experiments

showcase

Some experimentation with integrating chart-rs

bevy + anvil

Bevy + Anvil

showcase

A demo integrating Bevy and Anvil, a 3D modeling kernel with a special appearance by bevy_simple_subsecond_system

vertical slice

Vertical Slice

showcase

New level gen for a vertical slice. The enemy AI doesn't handle cliff edges yet, leading to a comedic lemmings effect.

bevy_new_third_person

oleks.pickle/bevy_new_third_person

showcase

A 3d game template based on bevy_new_2d, with a few extra tricks

Features:

  • import and usage of game mechanics and parameters from .ron (config, credits)
  • simple asset loading from BevyFlock example with loading from path addition
  • third person camera with bevy_third_person_camera
  • simple keyboard & gamepad mapping to game actions using leafwing-input-manager
  • simple scene with colliders and rigid bodies using avian3d
  • simple player movement and animation using bevy_tnua
  • simple skybox sun cycle using bevy atmosphere example, with daynight/nimbus mode switch
  • rig and animations using Universal Animation Library from quaternius
  • experimental sound with bevy_seedling based on Firewheel audio engine
  • consistent Esc back navigation in gameplay and menu via stacked modals
bee escape

Bee Escape!

showcase

Play as a bee trying to get out of a house. Available on itch.io

2.5d tilemap mesh2.5d tilemap

2.5d tilemaps

showcase

2.5d tilemaps build with 2d sprites on a 2d grid passed into a meshing function which places quads.

bevy on psx

Bevy on the Playstation One!

showcase

One patch to LLVM, a compilation of rustc for a custom toolchain, and a lot of help from psx-sdk-rs, and Bevy is now on the PlayStation One! Gamepad input fully integrated with bevy_input, double-buffered rendering, and logging piped to emulator debug logs.

mocosmos

mocosmos

showcase

A space game made with bevy_ecs as an example of using bevy_ecs and bevy_app

multiplayer shops

Online Multiplayer Shops

showcase

Shops for this multiplayer online role playing game. Shops are persistent on the server so if one player sells an item to an npc, it can be bought by another (although npcs will neither sell nor buy items they don't want for very much)

tile placement

Tile Placement

showcase

One month into this solo hobby project starting with tile placement.

strategy game

Grand Strategy Game

showcase

An in-progress grand strategy game much like Total War and Crusader Kings. So far there are moving pieces and settlements, and next step is to pitch the actual armies against one another

robot in air duct

Remote Control Robot

showcase

Remote-controlling a lil' virtual robot equipped with a camera!

fluid sim

Bevy Fluid Sim

showcase

A fluid simulation built on the Lattice Boltzmann Methods

procedural animation

Procedural Generation

showcase

A procedural generation system made out of a bunch of meshes and an aesthetic color palette generation component.

Crates

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

bevy_ecs_ldtk 0.12

crate_release

bevy_ecs_ldtk is an ecs-friendly LDtk plugin built on top of bevy_ecs_tilemap

quantized-pathfinding

crate_release

An quantized pathfinding algorithm extracted from a picking plugin

hourglasses

bevy_hourglass

crate_release

bevy_hourglass is a customizable visual hourglass timer with detailed mesh geometry

bevy_ui_anchor

bevy_pixelated_3d

crate_release

A project to convert any 3d world into a game that looks like pixelart, with builtin outlines based on depth and normal textures.

now with zoom, bloom, a better targeting system to keep the camera centered on something, and improvements to the post processing

bevy_ui_anchor v0.7

crate_release

bevy_ui_anchor provides an AnchorUiNode component that:

  • Anchor UI nodes to world positions or entities.
  • Supports horizontal and vertical anchoring.

0.7 takes advantage of new Bevy 0.16 APIs like Relationships

bevy_scriptum 0.9.0

crate_release

You can now write your Bevy game logic in Ruby. If you like Ruby’s syntax or want a faster way to prototype gameplay, this might be worth checking out.

Noiz 0.2

crate_release

Noiz is a simple, configurable, blazingly fast noise library built for and with Bevy.

Not only does it beat fast noise lite for performance, but it also offers 2d, 3d, and 4d support, derivatives/gradients, and extreme customization. It's effectively a node graph in the type system!

nano9 0.1.0-alpha.1

crate_release

Nano-9 is Bevy in Pico-8 clothing. It can read Pico-8 carts both .p8 and .png, so you can start with Pico-8 then switch over when you want anything outside Pico-8's bounds--like a different color palette! or more sprites, more code, more sounds, etc. You can code your game in Lua or Rust with the same-ish API.

Woodpecker UI

crate_release

Woodpecker UI is a Bevy ECS driven user interface crate. Its designed to be easy to use and work seamlessly with the bevy game engine.

Features

  • ECS first UI
  • Easy to use widget systems
  • Flexable UI rendering using vello
  • Taffy layouting
  • Parley for text layouting/editing
  • A few helper widgets to get you started

bevy_auto_system_macro

crate_release

A procedural macro that fully fills out system parameters and iteration loops, and then packages the variables in a nice IDE friendly ViewStruct.

Devlogs

vlog style updates from long-term projects

modestly multiplayer, major ambitions

Modestly Multiplayer, Massively Ambitious - Rust + Bevy - Devlog #1

devlog

The first produced devlog covering 8 months of livestreamed game development

Educational

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

ui tutorial

Incremental Bevy UI Tutorial

educational

A suite of code tutorials for bevy UI 0.16 where the author aims to explore making maintainable code and explaining everything in comments within the code.

10 useful crates for Bevy Jam 6

educational

10 crates and a few tools that you might find useful for the 6th Bevy jam

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