bevy_workbench
Current Status: đ§ Early Development (Initial version in progress)
bevy_workbench â A mid-level editor scaffold for Bevy, between bevy-inspector-egui and Unity/Godot editors.
| English | Simplified Chinese |
|---|---|
| English | įŽäŊ䏿 |
Introduction
bevy_workbench is an egui-based editor scaffold designed for Bevy game projects.
It provides a structured editor layout with panels, theming, and extensibility â without imposing heavy scene management
or asset pipeline opinions.
With bevy_workbench, you can quickly set up a development editor for your Bevy game with inspector, console, game
view, and menu bar panels.
Features
- egui_tiles dock layout â Drag, rearrange, split, and close/reopen panels freely
- Rerun-inspired dark theme â Dark UI theme ported from Rerun's color system, plus Catppuccin and egui presets
- Menu bar â File/Edit/View menus with Play/Pause/Stop toolbar
- Inspector â Entity hierarchy and component editor powered by bevy-inspector-egui, with undo support via reflection snapshots
- Console â Tracing log bridge with severity filtering
- Game View â Render-to-texture viewport with focus isolation and correct coordinate mapping
- Editor modes â Edit / Play / Pause mode switching with GameClock and GameSchedule
- Undo/Redo â Layout changes, inspector edits, with undo history panel
- Custom panel registration â Implement
WorkbenchPaneltrait and callapp.register_panel() - Configurable keybindings â Click to re-record, add alternative bindings
- i18n â English / 䏿 built-in, extensible with custom Fluent FTL sources
- Theme system â Per-mode themes with brightness control, multiple presets
- Layout persistence â Save/load dock layouts as JSON
- Custom font support â System locale detection with configurable font path
- Settings panel â UI scale, theme, locale, and font configuration
How to Use
-
Add to your
Cargo.toml:[] = "0.1" -
Basic setup:
use *; use *; use console_log_layer; -
Run the example:
How to Build
Prerequisites
- Rust 1.85 or later
- Bevy 0.18 compatible system dependencies:
# Linux (Ubuntu/Debian)
Build Steps
-
Clone the repository:
-
Build the project:
-
Run tests:
-
Run examples:
Dependencies
This project uses the following crates:
| Crate | Version | Description |
|---|---|---|
| bevy | 0.18 | Game engine framework |
| bevy_egui | 0.39 | egui integration for Bevy |
| bevy-inspector-egui | 0.36 | ECS inspector widgets |
| egui | 0.33 | Immediate mode GUI library |
| egui_tiles | 0.14 | Tiling dock layout |
| catppuccin-egui | 5.7 | Catppuccin theme presets |
Contributing
Contributions are welcome! Whether you want to fix a bug, add a feature, or improve documentation:
- Submit an Issue or Pull Request.
- Share ideas and discuss design or architecture.
License
This project is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.