This crate provides the ability to annotate structs with a #[derive(Inspectable)]
,
which opens a debug interface using egui where you can visually edit the values of your struct live.
Your struct will then be available to you as a bevy resource.
More examples (with pictures) can be found in the examples folder
.
use bevy_inspector_egui::Inspectable;
#[derive(Inspectable, Default)]
struct Data {
should_render: bool,
text: String,
#[inspectable(min = 42.0, max = 100.0)]
size: f32,
}
Add the InspectorPlugin
to your App.
use bevy_inspector_egui::InspectorPlugin;
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(InspectorPlugin::<Data>::new())
.add_system(your_system.system())
.run();
}
// fn your_system(data: Res<Data>) { /* */ }
If you want to display all world entities you can add the WorldInspectorPlugin
:
use bevy::prelude::*;
use bevy_inspector_egui::WorldInspectorPlugin;
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(WorldInspectorPlugin::new())
.add_startup_system(setup.system())
.run();
}
You can configure it by inserting the WorldInspectorParams
resource.
If you want to only display some components, you may want to use the InspectorQuery instead.
bevy | bevy-inspector-egui |
---|---|
0.5-0.6 | 0.5 |
0.5 | 0.4 |
0.4 | 0.1-0.3 |