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

Inspector systems are ambiguous with the entire Update schedule #169

Open
nfagerlund opened this issue Nov 25, 2023 · 1 comment
Open

Inspector systems are ambiguous with the entire Update schedule #169

nfagerlund opened this issue Nov 25, 2023 · 1 comment

Comments

@nfagerlund
Copy link

nfagerlund commented Nov 25, 2023

Since inspector_ui<T> and world_inspector_ui take a &mut World and go in the Update schedule, Bevy's ambiguity_detection reporting shows them as having conflicting data access and indeterminate ordering with basically everything. So, your legit determinism problems get drowned out by pairs like these:

 -- world_inspector_ui and mobile_fixed_velocity (in set MovePlanners)
    conflict on: bevy_ecs::world::World
 -- world_inspector_ui and launch_and_fall (in set MovePlanners)
    conflict on: bevy_ecs::world::World
 -- world_inspector_ui and mobile_chase_entity (in set MovePlanners)
    conflict on: bevy_ecs::world::World

Thoughts:

  • Ordering every gameplay system relative to these seems silly.
  • Yanking out the inspector systems every time I want determinism warnings is also a drag.
  • Logically, it seems like these systems belong in a dedicated schedule or something. I don't know if there's extra overhead to doing that, but I note that that's what they ended up doing with scene_spawner_system, which had the same problem in 0.11.x.
  • If a dedicated schedule's a non-starter, then maybe just moving to a built-in schedule that's not Update would help.
  • If they still need to go in Update for some reason that I haven't understood yet, maybe there could be a setting in the plugin constructors to mark them as .ambiguous_with_all() (to silence the warnings if you're just using inspectors for dev/debug and not for player-facing gameplay interface).
@AlexAegis
Copy link

Not using Update would be really helpful for system stepping too. Currently the inspector gui flashes as I step through my systems.

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 a pull request may close this issue.

2 participants