#Systems that are reported ambiguous seem to run deterministically

5 messages · Page 1 of 1 (latest)

tall pendant
#

I am following the Getting Started tutorial in the bevy book (https://bevyengine.org/learn/quick-start/getting-started/ecs/). At this point, there are two systems using the Name component, and I have not yet called chain() on them, so they should be running non-deterministically.
My code is like this: add_systems(Update, (greet_people, update_people))
(fyi, if you can't be bothered to open the link, both systems access the same component, one mutably and the other immutably.)

However, they seem to always run in the same order, and it also seems to depend on the order I have written them down. I have turned on ambiguity detection and it does report the ambiguity, it just never seems to happen from the printlns. Why is that?

craggy pagoda
#

the ambiguity exists because bevy does not guarantee that this happens. So as you add more systems, it might randomly stop working.

tall pendant
#

ohh so it is more or less expected to run in the written order for something simple?

#

thanks a lot by the way!

craggy pagoda