bevyengine / bevyengine/bevy-website

Migration guide missing: bevy_ui feature no longer includes rendering in 0.17

Open Beginner friendly
#2,347 1 comment 0 reactions 0 assignees View on GitHub
A-Migration Guides C-Correction S-Needs-Design
Dominant language
JavaScript
Stars
249
Forks
450
Avg merge
16h 20m
Merged PRs (30d)
6

Description

_Originally by @bigmark222 in https://github.com/bevyengine/bevy/issues/22524_

## 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

Open the contributing guide

Research direction

Start with the 0.16 to 0.17 migration guide linked in the issue and review its feature-migration sections. Add the note that `bevy_ui` no longer implies `bevy_ui_render` for users with `default-features = false`, including the required feature example; the guide is done when this silent UI-rendering break is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.