Skip to content

Remove experimental designation from bevy_ui_widgets and bevy_feathers feature flags#22934

Open
alice-i-cecile wants to merge 5 commits intobevyengine:mainfrom
alice-i-cecile:experimental-no-more
Open

Remove experimental designation from bevy_ui_widgets and bevy_feathers feature flags#22934
alice-i-cecile wants to merge 5 commits intobevyengine:mainfrom
alice-i-cecile:experimental-no-more

Conversation

@alice-i-cecile
Copy link
Member

@alice-i-cecile alice-i-cecile commented Feb 13, 2026

Objective

bevy_ui_widgets and bevy_feathers are both still incomplete and unstable, but the utility of the experimental designation is questionable:

  1. Running examples with required non-default features suck. This is frustrating for UI examples, and hampers adoption in our other examples even when real UI-based controls would be more elegant.
  2. These widgets have proven useful to end users in practice, even in 0.19.
  3. These widgets have seen a number of small bug fixes and improvements since their initial release.
  4. It's not clear that this label is effective for slowing adoption, or if slowing adoption is currently desirable. Users don't have a ton of other great options: writing their own widgets will waste work and still need to be rewritten with BSN.
  5. Bevy as a whole is still quite experimental. Unlike e.g. ghost nodes, there's no indication that we are considering wholly reverting these features.

Solution

From the migration guide:

The experimental_ui_widgets and experimental_bevy_feathers features have been renamed to ui_widgets and bevy_feathers respectively.

The ui_widgets feature has been added to the ui feature collection (and thus bevy's default features) for ease of use.
The bevy_feathers feature remains off by default: it is primarily intended for use in dev tools, and should typically not be included in shipped end-user applications. As a result, it needs to be easy to enable and disable conditionally. This would be very challenging if it were a default feature or in a popular feature collection.

These crates remain immature, and subject to heavy breaking changes, even relative to Bevy's pre-1.0 standards.
However, they are useful enough to see wider adoption, and this changes substantially improves the user experience when setting up new projects and running Bevy examples.

@alice-i-cecile alice-i-cecile added this to the 0.19 milestone Feb 13, 2026
@alice-i-cecile alice-i-cecile added A-UI Graphical user interfaces, styles, layouts, and widgets X-Needs-SME This type of work requires an SME to approve it. D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Feb 13, 2026
@github-project-automation github-project-automation bot moved this to Needs SME Triage in UI Feb 13, 2026
@github-actions
Copy link
Contributor

You added a new example but didn't add metadata for it. Please update the root Cargo.toml file.

@viridia
Copy link
Contributor

viridia commented Feb 13, 2026

The rationale for making feathers experimental is stronger than the one for making widgets experimental.

We know feathers is going to change because of bsn. There's no corresponding argument for bevy_ui_widgets.

@cart
Copy link
Member

cart commented Feb 13, 2026

Agreed. I'm much more on board for removing the experimental designation for bevy_ui_widgets. I think feathers needs experimental solely for marketing reasons: the current user-facing interface is a bit too quirky, and it will be a large breaking change when BSN lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-UI Graphical user interfaces, styles, layouts, and widgets D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Needs-Review Needs reviewer attention (from anyone!) to move forward X-Needs-SME This type of work requires an SME to approve it.

Projects

Status: Needs SME Triage

Development

Successfully merging this pull request may close these issues.

3 participants