16 releases (breaking)

0.12.1 Jan 1, 2025
0.12.0 Dec 4, 2024
0.11.1 Aug 11, 2024
0.11.0 Jul 6, 2024
0.2.1 May 12, 2021

#53 in Game dev

Download history 1187/week @ 2024-12-04 1833/week @ 2024-12-11 1037/week @ 2024-12-18 322/week @ 2024-12-25 1059/week @ 2025-01-01 1059/week @ 2025-01-08 1681/week @ 2025-01-15 1116/week @ 2025-01-22 1104/week @ 2025-01-29 1463/week @ 2025-02-05 1498/week @ 2025-02-12 878/week @ 2025-02-19 1675/week @ 2025-02-26 1243/week @ 2025-03-05 1996/week @ 2025-03-12 1484/week @ 2025-03-19

6,481 downloads per month
Used in 16 crates (10 directly)

MIT/Apache

70KB
1.5K SLoC

bevy_mod_debugdump

Crates.io Crates.io

Live playground: jakobhellermann.github.io/bevy_mod_debugdump

use bevy::prelude::*;
use bevy::log::LogPlugin;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(bevy_mod_debugdump::CommandLineArgs)
        .run()
}
$ cargo run -- --help
Commands:

dump-schedule <schedule_name> <file>
dump-render <file>

--no-exit Do not exit after performing debugdump action

Schedule graph

use bevy::prelude::*;
use bevy::log::LogPlugin;

fn main() {
    let mut app = App::new();
    app.add_plugins(DefaultPlugins.build().disable::<LogPlugin>()); // disable LogPlugin so that you can pipe the output directly into `dot -Tsvg`
    bevy_mod_debugdump::print_schedule_graph(&mut app, Update);
}

PreUpdate schedule:

Main (filtered)

See all schedules at docs/schedule.

Render app

Render graph

use bevy::prelude::*;
use bevy::log::LogPlugin;

fn main() {
    let mut app = App::new();
    app.add_plugins(DefaultPlugins.build().disable::<LogPlugin>()); 
    bevy_mod_debugdump::print_render_graph(&mut app);
}
render graph

Extract schedule

ExtractSchedule

Main render schedule

Main

Bevy support table

bevy bevy_mod_debugdump
0.15 0.12
0.14 0.11
0.13 0.10
0.12 0.9
0.11 0.8
0.10 0.7
0.9 0.6
0.8 0.5
0.7 0.4
0.6 0.3
0.5 0.2
0.5 0.1

Dependencies

~17–50MB
~864K SLoC