12 releases (6 breaking)

new 0.6.0 Dec 12, 2024
0.5.1 Dec 2, 2024
0.5.0 Nov 30, 2024
0.4.1 Sep 14, 2024
0.0.3 Mar 14, 2024

#195 in Game dev

Download history 266/week @ 2024-09-11 38/week @ 2024-09-18 16/week @ 2024-09-25 5/week @ 2024-10-02 3/week @ 2024-10-09 11/week @ 2024-10-30 12/week @ 2024-11-06 127/week @ 2024-11-20 266/week @ 2024-11-27 138/week @ 2024-12-04

531 downloads per month

MIT/Apache

2.5MB
30K SLoC

Bevy Cobweb UI

A UI and asset-management framework for the bevy game engine.

Depends on bevy and bevy_cobweb.

Features

Getting Started

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.

Examples

  • hello_world: Bare-bones hello world.
  • counter: Simple counter button. Shows how ControlRoot and ControlMember 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. Showcases PropagateOpacity, which allows controlling (and animating) the opacity of entire node trees, and even layering multiple PropagateOpacity 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 with bevy_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.

Editor

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 compatability

bevy bevy_cobweb_ui
0.15 0.5.0 - main
0.14 0.1.0 - 0.4.1

Dependencies

~56–97MB
~1.5M SLoC