bevyengine / bevyengine/bevy-website

0.9 -> 0.10 migration errors

Open
#603 7 comments 0 reactions 0 assignees View on GitHub
A-Migration Guides A-News C-Content
Dominant language
JavaScript
Stars
249
Forks
450
Avg merge
16h 20m
Merged PRs (30d)
6

Description

(reopened from bevyengine/bevy#8033)

Here's a list of migration errors with no corresponding items in the migration guide:

- The stageless migration really doesn't explain the basics of how to migrate from _e.g._ `add_system_to_stage()` to ... (?) There's not even a single example.
- `ReportExecutionOrderAmbiguities` (likely: `bevy::ecs::schedule::ScheduleBuildSettings::ambiguity_detection`)
- `ModifiesWindows` (?)
- `StageLabel` (?)
- `MonitorSelection` moved to inner of `WindowPosition`, `Window::monitor` field deleted
- `App::add_system_set()` removed, how to replace?
- `ResMut>` doesn't build anymore; this needs the new `States` trait which is not mentioned in the migration guide
- `State::current()` (likely `state.0`). (`NextState` is mentioned but it's not super clear either)
- `SystemStage::single_threaded()` (?)
- `TextPipeline::get_glyphs()` (I was using after `queue_text()` which now returns the `TextLayoutInfo` so maybe not needed anymore)
- `TextPipeline` lost its generic ID type, how to replace?!
- `EntityRenderCommand` (I think bevyengine/bevy#6885 so use `RenderCommand` instead; note that the PR _has_ a Migration Guide section which didn't make it into the guide 😅)

I've tried to upgrade my game, which is very small and doing little at this stage, just a few systems organized at specific points (like changing levels after `LoadAssets` so that there's no frame delay), and overall it took me over an hour, with examples from `bevy_hanabi`'s upgrade by @NiseVoid, to make it build again, without exclusive systems that I still don't know how to replace. I also have no real idea if the new scheduling is in any way well organized or even working, so I'll probably have to dive into a debugging plugin to verify the entire frame scheduling.

Contributor guide

Open the contributing guide

Research direction

Start by comparing each listed 0.9-to-0.10 API change with the existing migration guide, using the referenced bevy_hanabi upgrade and Bevy PR #6885 as context. Done means the guide explains the replacement for every listed item, includes a scheduling example, and clarifies cases currently marked as uncertain.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.