bevy_mod_raycast icon indicating copy to clipboard operation
bevy_mod_raycast copied to clipboard

System order ambiguity `update_cursor_ray` and `event_update_system`

Open thmxv opened this issue 1 year ago • 0 comments

Following our chat in issue #114 I added this code into my app:

fn main() {
    let mut app = App::new();
    app.configure_schedules(ScheduleBuildSettings {
        ambiguity_detection: LogLevel::Warn,
        ..default()
    });
    ...
}

to detect system ambiguities. It did not help at the time (I am still looking for my mistake causing #114, but thanks a lot for you help) however, after migrating to Bevy 0.14, this now create the following warning:

2024-07-30T17:07:34.811700Z  WARN bevy_ecs::schedule::schedule: Schedule First has ambiguities.
2 pairs of systems with conflicting data access have indeterminate execution order. Consider adding `before`, `after`, or `ambiguous_with` relationships between these:
 -- update_cursor_ray and event_update_system (in set EventUpdates)
    conflict on: bevy_ecs::world::World
 -- time_system (in set TimeSystem) and event_update_system (in set EventUpdates)
    conflict on: bevy_ecs::world::World

The second pair of systems causing an ambiguity is internal to Bevy and reported in bevyengine/bevy#14524. But the first pair, regarding update_cursor_ray and event_update_system is internal to this mod.

thmxv avatar Jul 30 '24 17:07 thmxv