Inspector plugin for the bevy game engine
Inspector plugin for the bevy game engine
Examples can be found at ./crates/bevy-inspector-egui/examples.
This crate contains
Reflect values in reflect_inspector,The changelog can be found at docs/CHANGELOG.md.
These plugins can be easily added to your app, but don't allow for customization of the presentation and content.
Displays the world's entities, resources and assets.
use bevy::prelude::*;
use bevy_inspector_egui::{bevy_egui::EguiPlugin, quick::WorldInspectorPlugin};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(EguiPlugin::default())
.add_plugins(WorldInspectorPlugin::new())
.run();
}
The quick::WorldInspectorPlugin is meant for simple use cases. If you want to customize it,
it's actually very easy to copy the implementation and tweak it. An example of this can be found in the world_inspector_manual.rs example.
Display a single resource in a window.
…
There is also the StateInspectorPlugin and the AssetInspectorPlugin.
The quick plugins don't allow customization of the egui window or its content, but you can easily build your own UI:
…
Pair this with a crate like egui_dock and you have your own editor in less than 100 lines: examples/egui_dock.rs.
highlight_changes - highlight changed values every frame.
Ideally this should be runtime-configurable, but it was implemented like this as a stopgap solution. If you'd like to configure this at runtime, please open an issue to let me know it's more of a priority.bevy_pbr (default): register default options for bevy_pbr types. You should disable this if you don't use bevy_pbr to reduce the dependency footprint.bevy_gizmos: enable inspecting of GizmoConfigGroupQ: How do I change the names of the entities in the world inspector?
A: You can insert the Name component.
Q: What if I just want to display a single value without passing in the whole &mut World?
A: You can use reflect_inspector::ui_for_value. Note that displaying things like Handle<StandardMaterial> won't be able to display the asset's value.
Q: Can I change how exactly my type is displayed?
A: Implement InspectorPrimitive and call app.register_type_data::<T, InspectorEguiImpl>.
| bevy | bevy-inspector-egui |
|---|---|
| 0.19 | 0.37 |
| 0.18 | 0.36 |
| 0.17 | 0.35 |
| 0.17 | 0.34 |
| 0.16 | 0.33 |
| 0.16 | 0.32 |
| 0.16 | 0.31 |
| 0.15 | 0.30 |
| 0.15 | 0.29 |
| 0.15 | 0.28 |
| 0.14 | 0.27 |
| 0.14 | 0.26 |
| 0.14 | 0.25 |
| 0.13 | 0.24 |
| 0.13 | 0.23 |
| 0.12 | 0.22 |
| 0.12 | 0.21 |
| 0.11 | 0.19-0.20 |
| 0.10 | 0.18 |
| 0.9 | 0.14-0.17 |
| 0.8 | 0.12-0.13 |
| 0.7 | 0.10-0.11 |
| 0.6 | 0.9 |
| 0.6 | 0.8 |
| 0.6 | 0.7 |
| 0.5 | 0.5-0.6 |
| 0.5 | 0.4 |
| 0.4 | 0.1-0.3 |
No open issues yet, or sync has not completed.