bevy-inspector-egui 0.7.6

Inspector plugin for the bevy game engine
Documentation

bevy-inspector-egui

This crate provides a debug interface using egui where you can visually edit the values of your components live.

Usage

You can either inspect a single resource using the InspectorPlugin, or use the WorldInspectorPlugin to inspect all entities.

InspectorPlugin

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::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(InspectorPlugin::<Data>::new())
        .run();
}

World inspector

use bevy::prelude::*;
use bevy_inspector_egui::WorldInspectorPlugin;

fn main() {
    App::new()
        .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 support table

bevy bevy-inspector-egui
0.6 0.7
0.5 0.5-0.6
0.5 0.4
0.4 0.1-0.3