bevy_dev_console
bevy_dev_console copied to clipboard
Developer console plugin for the Bevy game engine.
bevy_dev_console
bevy_dev_console is a Source-inspired developer console plugin for the Bevy Game Engine.

[!WARNING]
bevy_dev_consoleis currently in its early development stages. Expect breaking changes in the near future (especially when using the built-in command parser). For this reason its only available as a git package at the moment.
Features
- Log viewing
- View all the hidden data from any log message by hovering over it.
- Powerful Built-in parser language built specifically for
bevy_dev_console. (Documentation)- Calculations
- Variables
- Uses a simplified version of ownership and borrowing
- Standard library (Doesn't have much at the moment)
- Custom native functions (
Worldaccess included!) - Many types
- Resource viewing and modification
- Enums
- Structs
- ~~Entity queries~~ Coming Soon... (Syntax suggestions would be appreciated!)
- ...and more!
Usage
-
Add the
bevy_dev_consolegit package.cargo add --git https://github.com/doonv/bevy_dev_console.git -
Import the
prelude.use bevy_dev_console::prelude::*; -
Add the plugins.
use bevy::{prelude::*,log::LogPlugin}; use bevy_dev_console::prelude::*; App::new() .add_plugins(( // Start capturing logs before the default plugins initiate. ConsoleLogPlugin::default(), // Add the default plugins without the LogPlugin. // Not removing the LogPlugin will cause a panic! DefaultPlugins.build().disable::<LogPlugin>(), // Add the dev console plugin itself. DevConsolePlugin, )) .run(); -
That should be it! You can now press the
`/~key on your keyboard and it should open the console!
Togglable Features
(default) builtin-parser includes the default parser. Disabling this allows you to remove the built-in parser and replace it with your own (or you could do nothing and make the console into a log reader).
Bevy Compatibility
| bevy | bevy_dev_console |
|---|---|
| 0.13.* | git (master) |