Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.11 to 0.12 migration guide #756

Merged
merged 19 commits into from
Nov 3, 2023
Merged

Conversation

IceSentry
Copy link
Contributor

This is still very WIP and only contains the original output of the generate-release tool.

Feel free to submit a PR to my branch with any fixes.

@IceSentry IceSentry force-pushed the 0.12-migration-guide branch from 07b99bf to f9b035d Compare October 27, 2023 05:18
@rparrett
Copy link
Contributor

rparrett commented Oct 29, 2023

Notes (will update as I migrate stuff and the guide evolves):

  • Transparent2d has a new dynamic_offset field.
    Seems like this should be set to None.
  • Transparent2d's batch_range field is now a range. Maybe it should be 1..1 if it was previously None, and you are not doing automatic batching?
  • PrepareAssetSet is gone?
    This seems to be covered by "Assets such as materials and meshes should now be created" but maybe mention the set by name.
  • I think that a particular system previously in Queue should now be in QueueMeshes but I don't see QueueMeshes mentioned anywhere.
  • We should explicitly explain what to do to migrate ComputedVisibility::is_visible. I think that it did not consider view visibility so it is probably equivalent to InheritedVisibility::get?
  • Frustum::intersects_obb now takes an Affine3A instead of Mat4.
    GlobalTransform::affine() may help? No mention at all of Affine3A in guide.
    Expand on migration guide for PR 9416 #816
  • PreparedBindGroup bindings field's inner type is now a tuple with a mysterious u32 field.
  • assets v2: assets.set_untracked is gone. No mention in guide.
    Seems like maybe you just use .insert now?
  • assets v2: app.add_asset is gone, but not mentioned explicitly.
    Seems to be init_asset now.
  • assets v2: loaders now need an associated Error type. no mention of this.
  • assets v2: section on implementing a custom loader should link to new custom loader example
  • assets v2: get_group_load_state is gone.
    Use .iter().any() on your collection with get_load_state, I guess.
    Examples seem to use e.g. Assets<Image>::get().is_some() though... is there a reason for that?
  • opt-out multi-threading: This is not just for users who depend on individual bevy crates. Users who disable bevy's default features in theirs apps need to add this feature. Also, if you don't, your assets will just silently never load / be stuck in a perpetual LoadState::Loading.
    0.12 Migration: multi-threaded feature is not just for bevy_ecs and bevy_tasks users #830

Copy link
Member

@cart cart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a ton for putting this together! I think this is in a reasonable place. We can iterate as needed (even post-release if necessary)

@cart cart enabled auto-merge November 3, 2023 00:52
@cart cart added this pull request to the merge queue Nov 3, 2023
Merged via the queue into bevyengine:main with commit 3066f7c Nov 3, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants