mockersf / bevy-inspector-egui

Inspector plugin for the bevy game engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bevy-inspector-egui


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.

demonstration with a running bevy app

More examples (with pictures) can be found in the examples folder.

Example

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>) { /* */ }

World Inspector

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.

world inspector ui

Bevy support table

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

About

Inspector plugin for the bevy game engine

License:MIT License


Languages

Language:Rust 100.0%