A UI and asset-management framework for the bevy
game engine.
Depends on bevy
and bevy_cobweb.
- Custom scene format called COB
- Localization framework (text, fonts, images, audio)
- Font family API
- Built-in UI widgets and color palettes
- Asset management tools
- And many quality of life features.
Check out the bevy_cobweb_ui
book, which is a guide tailored to new users.
(Optional) Install syntax highlighting for the COB asset format.
Check the loading module docs for how to write COB files. COB files can be hot reloaded with the hot_reload
feature. Hot-reloaded changes will cause affected scene nodes to be refreshed (or cause commands to be re-applied). Hot-reloading is minimally destructive. Entities are only despawned when you delete scene nodes from a COB file.
Check the repository examples for how to build different kinds of UI.
hello_world
: Bare-bones hello world.counter
: Simple counter button. Shows howControlRoot
andControlMember
can be used to transfer interactions within a widget. Also demonstrates updating text dynamically on the code side.cursors
: Set custom cursors that respond to interactions with UI elements.help_text
: Help text that appears on hover. ShowcasesPropagateOpacity
, which allows controlling (and animating) the opacity of entire node trees, and even layering multiplePropagateOpacity
within a single tree.radio_buttons
: A set of buttons where only one is selected at a time. Uses the built-in radio button widget.slider
: Uses the built-in slider widget.scroll
: Uses the built-in scroll widget.localization
: Showcases localized text and font.calculator
: A minimalistic code-only calculator. Shows how to mix builder-pattern-based UI construction withbevy_cobweb_ui
convenience tools for interactions.game_menu
: A simple game menu with settings page. Showcases multiple uses of built-in radio buttons, sliders, and drop-downs, localization, non-interactive animations, and how to manage localized image assets using COB files as asset manifests.- Not yet migrated to use COB. It is waiting for a dropdown widget to be implemented.
editor_demo
: Showcases the editor with custom editor widgets.
There is an editor, enabled by the editor
feature. It is currently a very basic proof of concept, and may or may not be developed further. See the editor_demo
example.
bevy |
bevy_cobweb_ui |
---|---|
0.15 | 0.5.0 - main |
0.14 | 0.1.0 - 0.4.1 |