Migration guide missing: bevy_ui feature no longer includes rendering in 0.17
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Summary
The 0.16 to 0.17 migration guide does not mention that the `bevy_ui` feature no longer implies rendering functionality. Users who set `default-features = false` and explicitly list features will have UI that spawns without errors but renders nothing.
## The Problem
When migrating to Bevy 0.17 with custom features like:
```toml
bevy = { version = "0.17", default-features = false, features = ["bevy_ui", "bevy_text", ...] }
```
UI entities spawn correctly (logs confirm setup runs), but nothing appears on screen. There are no errors or warnings - the UI is simply invisible.
## The Solution
Add `bevy_ui_render` to the feature list:
```toml
bevy = { version = "0.17", default-features = false, features = ["bevy_ui", "bevy_ui_render", "bevy_text", ...] }
```
## Request
Please add this to the [0.16 to 0.17 migration guide](https://bevy.org/learn/migration-guides/0-16-to-0-17/) under a section like "UI Rendering Feature Separation":
> If you use `default-features = false` with explicit feature flags, note that `bevy_ui` no longer implies rendering. You must also enable `bevy_ui_render` for UI elements to be visible.
## Related
This was previously reported in #21093 but the migration guide was never updated. That issue is the only place this information exists, making it very difficult to discover.
## Impact
This is a silent breaking change - code compiles, runs without errors, but produces incorrect output. These are the hardest bugs to diagnose. We spent several hours debugging this before finding #21093 via web search.
Contributor guide
Assessment
This issue has not been assessed yet.