bevy-inspector-egui
Examples can be found at ./crates/bevy-inspector-egui/examples
.
This crate contains
- general purpose machinery for displaying
Reflect
values in reflect_inspector, - a way of associating arbitrary options with fields and enum variants in inspector_options
- utility functions for displaying bevy resource, entities and assets in bevy_inspector
- some drop-in plugins in quick to get you started without any code necessary.
Use case 1: Quick plugins
These plugins can be easily added to your app, but don't allow for customization of the presentation and content.
WorldInspectorPlugin
Displays the world's entities, resources and assets.
use *;
use WorldInspectorPlugin;
#
ResourceInspectorPlugin
Display a single resource in a window.
use *;
use *;
use ResourceInspectorPlugin;
// `InspectorOptions` are completely optional
There is also the StateInspectorPlugin
and the AssetInspectorPlugin
.
Use case 2: Manual UI
The quick plugins don't allow customization of the egui window or its content, but you can easily build your own UI:
use *;
use EguiPlugin;
use *;
use TypeId;
Pair this with a crate like egui_dock
and you have your own editor in less than 100 lines: examples/egui_dock.rs
.
FAQ
Q: 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.