Skip to content

Bevy 0.19#404

Merged
Trouv merged 1 commit into
Trouv:mainfrom
neocturne:bevy-0.19
Jul 5, 2026
Merged

Bevy 0.19#404
Trouv merged 1 commit into
Trouv:mainfrom
neocturne:bevy-0.19

Conversation

@neocturne

@neocturne neocturne commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

With the platformer example I'm seeing inconsistent sprite ordering between the player and the chests after the update to 0.19. See #404 (comment).

I've also given this a superficial test with a simple personal project. I didn't notice any obvious issues here.

@neocturne

Copy link
Copy Markdown
Contributor Author

With the platformer example I'm seeing inconsistent sprite ordering between the player and the chests after the update to 0.19. I have not investigated the cause yet.

Hmm, I guess the draw order is basically undefined for sprites with the same z coordinate? Still a regression from 0.18, where the order was stable, rather than changing when moving. I also can't find anything related in the release notes or migration guide.

I see the following options:

  • Fix in the library: apply a unique z offset to all entities inside a layer
  • Fix in the example: set a z offset for the player
  • Accept the inconsistent behavior
  • Report the change in behavior to bevy?

@Trouv Trouv left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for this, so far I've only reviewed src. Curious how difficult it would be to split this up into a PR for the avian migration and the bevy 0.19 migration? I don't mind merging this with a git dependency on rapier

Comment thread src/systems.rs
@neocturne

Copy link
Copy Markdown
Contributor Author

Avian migration moved to #405 and PR description updated.

Trouv pushed a commit that referenced this pull request Jun 27, 2026
Being a native bevy plugin, avian provides support for new bevy versions
quickly and is not plagued by dependency incompatibilities (like
requiring rapier and bevy to use the same version of glam).

Prepares for the Bevy 0.19 update in
#404. As noted in
dimforge/bevy_rapier#694, rapier skipped the
glam version used by Bevy 0.19, so making them work together is
cumbersome (and not even using a git version of bevy_rapier would work).
Using avian instead of bevy_rapier allows us to update bevy without
waiting for a solution and avoids similar problems in the future.

As far as I can tell, nothing about the game feels significantly
different with this change applied. One ugly hack was necessary to make
it work correctly, marked by a comment.
@Trouv

Trouv commented Jun 28, 2026

Copy link
Copy Markdown
Owner

I see the issue you're talking about w/ the sprite ordering, though I think it had something to do with the avian migration? Not bevy 0.19, I'm seeing it main now too.

Regardless I think it's acceptable for now. It kinda makes sense to me that ordering between equal z-value entities would be undefined. Idk if bevy_ecs_ldtk should have an opinion on it, I think if users want to explicitly make the player on top, then add .1 to its z in post-processing. I'd be happy accepting a system for that in the platformer example in another PR

@neocturne

Copy link
Copy Markdown
Contributor Author

Oh, you are right! I thought I hadn't seen in with avian on 0.18, but I guess I didn't properly pay attention. Kinda weird that the physics engine has an effect on the sprite ordering when it should handle only two dimensions, I'll try to figure out what is going on.

@neocturne

Copy link
Copy Markdown
Contributor Author

Hmm, using bevy-inspector-egui I see additional components being added to entities while they are colliding. Maybe archetype changes can result in a different draw order for equal z coordinates?

@mnmaita

mnmaita commented Jul 5, 2026

Copy link
Copy Markdown

@neocturne bevy_ecs_tilemap got updated to 0.19 FYI 😄

Very straightforward update with only a few changes needed to fix all new
errors and warnings, mostly around Resources as Components.
@neocturne
neocturne marked this pull request as ready for review July 5, 2026 13:29
@neocturne

Copy link
Copy Markdown
Contributor Author

Great, PR is updated now.

@Trouv
Trouv merged commit 5c48dcb into Trouv:main Jul 5, 2026
5 checks passed
@Trouv Trouv mentioned this pull request Jul 5, 2026
Trouv pushed a commit that referenced this pull request Jul 5, 2026
Update all dependencies that are unrelated to Bevy. No code changes.

---

Depends on #404, as both touch adjacent lines in Cargo.toml.
@neocturne
neocturne deleted the bevy-0.19 branch July 5, 2026 20:08
Trouv added a commit that referenced this pull request Jul 5, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.15.0](v0.14.0...v0.15.0)
(2026-07-05)


### ⚠ BREAKING CHANGES

* upgrade to bevy 0.19
([#404](#404))

### Features

* set per-tile opacity in tile maker
([#400](#400))
([351986c](351986c))
* upgrade to bevy 0.19
([#404](#404))
([5c48dcb](5c48dcb))


### Bug Fixes

* map Array<FilePath> field to correct FieldValue variant
([#403](#403))
([564dcb7](564dcb7))


### Documentation Changes

* add bevy_ecs_ldtk 0.15 to compatibility chart
([#407](#407))
([8954fb5](8954fb5))


### Example Changes

* port platformer example from bevy_rapier to avian
([#405](#405))
([c34db11](c34db11))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants