This crate provides a debug interface using egui where you can visually edit the values of your components live.
You can either inspect a single resource using the InspectorPlugin
, or use the WorldInspectorPlugin
to inspect all entities.
use bevy::prelude::*;
use bevy_inspector_egui::{InspectorPlugin, Inspectable};
#[derive(Inspectable, Default)]
struct Data {
should_render: bool,
text: String,
#[inspectable(min = 42.0, max = 100.0)]
size: f32,
}
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(InspectorPlugin::<Data>::new())
.run();
}
use bevy::prelude::*;
use bevy_inspector_egui::WorldInspectorPlugin;
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(WorldInspectorPlugin::new())
.run();
}
You can configure the WorldInspectorPlugin
by inserting the WorldInspectorParams
resource.
If you want to only display some components, you may want to use the InspectorQuery instead.
If you want custom types to be displayed in the inspector, you'll need to register them on the InspectableRegistry
:
use bevy::prelude::*;
use bevy_inspector_egui::{WorldInspector, RegisterInspectable};
#[derive(Reflect)]
struct ReflectedType;
#[derive(Reflect)]
struct InspectableType;
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(WorldInspectorPlugin::new())
.register_type::<ReflectedType>()
.register_inspectable::<InspectableType>()
.run();
}
More examples (with pictures) can be found in the examples folder
.
bevy | bevy-inspector-egui |
---|---|
0.5-0.6 | 0.5 |
0.5 | 0.4 |
0.4 | 0.1-0.3 |