This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

City Simulations, Flow Graphs, and UI Widgets

2025-11-10

This week we see Color Plane widgets, ligature support for text, and sticky ui nodes.

Alongside city simulations, flow graphs, and more!

Then some procedural sky islands and an "ECS for Beginners" talk.

Color Plane Widget

color plane

#21743 introduces a new Color Plane widget for color selection.

Support for ligatures and smallcaps

ligatures

#19020 adds support for OpenType features like ligatures and smallcaps.

Parallelize the asset processing loop

https://github.com/bevyengine/bevy/pull/21701

Improved Entity Lifecycle

For context, the way entities work on main is as a "allocate and use" system. Entity ids are allocated, and given a location. The location can then be changed, etc. Entities that are free have an invalid location. To allocate an entity, one must also set its location. This introduced the need for pending entities, where an entity would be reserved, pending, and at some point flushed. Pending and free entities have an invalid location, and others are assumed to have a valid one. This roughly doubles command spawning speed! Despawning also sees a 20-30% improvement.

#19451:

  • Decouples Entities from entity allocation to make room for other allocators and resolve alloc_at issues.
  • Decouples entity allocation from spawning to make reservation a moot point.
  • Introduces constructing and destructing entities, in addition to spawn/despawn.
  • Changes reserve and flush patterns to alloc and construct patterns.

wgsl color utils

wgsl

#21720 moves the wgsl color space utility functions to ‎bevy_ui_render::color_space‎. These are helpful, for example, when converting linear color data to oklab and back.

Sticky UI Nodes

sticky ui nodes

#21648 adds UI nodes that can be used as sticky row and column headers.

Showcase

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

unity assets

Unity Assets

showcase

This demo uses planet assets from the Unity Assets Store with a custom shader.

potree

bevy_point_cloud progress

showcase

Loading and rendering potree point clouds progressively in bevy_point_cloud is now working!

abysm

Abysm Steam Demo

showcase

Abysm is a physics-based puzzle game inspired by classic games such as Boulder Dash and Supaplex, but with a cosmic horror theme. Not with a Steam demo that is compatible with the Steam Deck.

highlight

To Build a Home: Object Highlights

showcase

A highlight effect made by changing the color field of the Sprite component to Color::Srgba(Srgba::new(1.25, 1.25, 1.25, 1.0)).

wild spikes

Wild Spikes: Atmospheres

showcase

A switch from custom atmosphere implementations to Bevy's atmosphere and sundisk. Also includes several "atmosphere presets" for weather transitions.

bean football

Bean Football

showcase

A game jam game made in 5 days using Avian2d. Run around throwing balls at beans and collecting money!

maiu online

Maiu Online

showcase

The world map is divided into 32×32 sectors. When the player crosses into another sector, the system updates visibility for the nearest surrounding sectors. The visibility radius is 2, meaning the player can see up to two sectors away from their current position.

apex flow

Apex Flow

showcase

Inspired by this video, this is a track on which you can design your own cars using a node-based flow graph system.

Project is available on GitHub and to play on the web in WebGPU compatible browsers

battle royale marble simulations

Battle Royale Marble Simulation

showcase

An Avian Physics powered marble simulation with trail effects, recorded by reading each frame from the GPU and piping to ffmpeg. The physics is manually ticked after each frame.

city simcity sim: closeup

City simulation

showcase

150,000 walker components whose transforms (position and rotation) are mutated at 60fps from Python driving Bevy

custom audio

Custom Audio with cpal

showcase

A mini music-making tool for bevy games. This isn't using bevy_audio, instead it uses cpal and a custom plugin to spawn Notes in Patterns in Sequencers (Everything is an entity!).

Crates

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

bevy_mod_erased_component_registry

crate_release

Insert new components by their TypeId using their FromWorld/Default implementation!

tb_ga

crate_release

A crate designed to integrate GameAnalytics. Currently focused on events.

bevy dioxus sync

bevy_dioxus_sync v0.1

crate_release

bevy_dioxus_sync is a crate with the goal of bringing Dioxus as a top tier option for making UIs in Bevy. Through Dioxus's new dioxus-native crate, native (non-webassembly based) Dioxus support is now possible with bevy.

Bevy Flair v0.6.0

crate_release

Bevy Flair brings CSS-like styling to Bevy UI

bevy_ecs_ldtk 0.13

crate_release

LDtk is a modern, user-friendly 2d level editor for tilemap based games: https://ldtk.io/

This is a small release, mostly performance improvements and refactors

Devlogs

vlog style updates from long-term projects

Full Moon Harvest #5

devlog

Sync engines and declarative state as well as a 100% Bevy router

procedural sky islands

Procedural Sky Islands

devlog

In this episode the author dives into how the procedural sky island is created—from Perlin noise and mesh generation to stitching the surface and rock base together. This is a learning project aimed at game dev concepts like normals, UVs, and noise.

Educational

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

Bevy Android Setup

educational

A post about Bevy setup on Android devices, and handling some of the pitfalls

ecs for beginners

ECS for Beginners

educational

A talk titled "ECS for Beginners" given at RustLab. Slides are available while waiting for the recording to show up.

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