This crate provides a Egui integration for the Bevy game engine.
Features:
- Desktop and web (bevy_webgl2) platforms support
- Clipboard (web support is limited to the same window, see rust-windowing/winit#1829)
- Opening URLs
bevy_egui
can be compiled with using only bevy
and egui
as dependencies: manage_clipboard
and open_url
features,
that require additional crates, can be disabled.
An example WASM project is live at mvlabat.github.io/bevy_egui_web_showcase [source].
Note that in order to use bevy_egui
in WASM you need bevy_webgl2 of at least 0.5.0
version.
Here's a minimal usage example:
# Cargo.toml
[dependencies]
bevy = "0.5"
bevy_egui = "0.3"
use bevy::prelude::*;
use bevy_egui::{egui, EguiContext, EguiPlugin};
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(EguiPlugin)
.add_system(ui_example.system())
.run();
}
fn ui_example(mut egui_context: ResMut<EguiContext>) {
let ctx = &mut egui_context.ctx;
egui::Window::new("Hello").show(ctx, |ui| {
ui.label("world");
});
}
For a more advanced example, see examples/ui.rs.
cargo run --example ui
bevy | bevy_egui |
---|---|
0.5 | 0.4 |
0.4 | 0.1-0.3 |