#bevy-plugin #gamedev #bevy

iyes_progress

Bevy plugin to help implement loading states

22 releases (14 breaking)

Uses new Rust 2024

new 0.17.0-rc.1 May 15, 2026
0.16.0 Jan 14, 2026
0.16.0-rc.1 Dec 24, 2025
0.14.0 May 18, 2025
0.4.0 Jul 31, 2022

#108 in Game dev

Download history 447/week @ 2026-01-23 421/week @ 2026-01-30 352/week @ 2026-02-06 480/week @ 2026-02-13 710/week @ 2026-02-20 496/week @ 2026-02-27 542/week @ 2026-03-06 686/week @ 2026-03-13 520/week @ 2026-03-20 760/week @ 2026-03-27 672/week @ 2026-04-03 952/week @ 2026-04-10 1203/week @ 2026-04-17 1682/week @ 2026-04-24 1580/week @ 2026-05-01 1870/week @ 2026-05-08

6,590 downloads per month
Used in 11 crates (6 directly)

MIT/Apache

62KB
1K SLoC

Progress Tracking Helper Crate

Crates.io docs MIT/Apache 2.0

This crate was formerly known as bevy_loading!

Bevy Compatibility:

Bevy Version Plugin Version
main N/A
0.18 0.16
0.17 0.15
0.16 0.14
0.15 0.13
0.14 0.12
0.13 0.11
0.12 0.10
0.11 0.9
0.10 0.8
0.9 0.7
0.8 0.4,0.5, 0.6
0.7 0.3
0.6 bevy_loading = 0.2
0.5 bevy_loading = 0.1

This crate helps you in cases where you need to track when a bunch of work has been completed, and perform a state transition.

The most typical use case are loading screens, where you might need to load assets, prepare the game world, etc… and then transition to the in-game state when everything is done.

You can have any number of systems doing different things during your loading state, and they can report their progress to this crate.

See the example for an overview of how to use this crate.


There is also an optional feature (assets) implementing basic asset loading tracking. Just add your handles to the AssetsLoading resource.

If you need something more advanced, I recommend the bevy_asset_loader crate, which can integrate with this crate. :)

Dependencies

~11–22MB
~421K SLoC