What problem does this solve or what need does it fill?
You would expect that the following: app.add_plugins(DefaultPlugins.build().disable::<SpritePlugin>()) would disable 2D and every plugin feature that depends on it (gizmos, ui, etc..), but most Bevy plugins rely on feature flags instead. This makes disabling most plugins to crash the app.
What solution would you like?
Add plugin checks (is_plugin_added) and allow plugins to specify their plugin dependencies so App can automatically order them.
What alternative(s) have you considered?
Short term, we could add plugin checks and order them manually on Default/MinimalPlugins
What problem does this solve or what need does it fill?
You would expect that the following:
app.add_plugins(DefaultPlugins.build().disable::<SpritePlugin>())
would disable 2D and every plugin feature that depends on it (gizmos, ui, etc..), but most Bevy plugins rely on feature flags instead. This makes disabling most plugins to crash the app.What solution would you like?
What alternative(s) have you considered?