Skip to content

Improve change detection warning message #3071

@alice-i-cecile

Description

@alice-i-cecile

How can Bevy's documentation be improved?

WARN bevy_ecs::system::system: Too many intervening systems have run since the last time System 'doesntmatterthename' was last run; it may fail to detect changes.

This error message was actually hit by a user after they left a game running overnight.

This caused a large number of warnings, and the user was left confused.

We should:

  1. Move this warning to be in debug only.
  2. More clearly communicated that this is only relevant for Changed, Added and the .is_changed and .is_added methods.
  3. More clearly communicate that this is working as intended.
  4. State the amount of intervening systems that are needed before this will occur.
  5. Consider some cooldown between spamming the error message again for the same system.

If this is a regular occurence, we should probably swap change-detection to be opt-in / opt-out and move to a u64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-DocsAn addition or correction to our documentationC-UsabilityA targeted quality-of-life change that makes Bevy easier to use

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions