Add a plugin / world setting for missing resource parameter panicking, skipping, and warning #17309
Labels
A-ECS
Entities, components, systems, and events
C-Feature
A new feature, making something new possible
D-Complex
Quite challenging from either a design or technical perspective. Ask for help!
S-Needs-Design
This issue requires design work to think about how it would best be accomplished
0.15.1 reverted the behaviour of "non-
Option
resources aren't present" from its 0.15 behaviour (non-panicking, warn once, skip the system for as long as those resources aren't present) to 0.14 behaviour (panic). While there now exists a method to allow this warn-once behaviour per-system, there is not a global / plugin setting to change this behaviour.What problem does this solve or what need does it fill?
Eliding the need to migrate already-existing large projects to this new behaviour.
What solution would you like?
A plugin or world setting to re-enable "warn once, skip, and don't panic" behaviour as the "default" for new systems.
What alternative(s) have you considered?
App
with some kind ofRegisterSkippableSystems
trait that registers systems and marks them as warn-once don't-panic, and using this exclusively.Additional context
I began working on my own project during the 0.15 release candidate process with "don't run if the resources aren't present" as a behaviour in mind, it being a welcome change to me in early prototyping. While I could migrate to this new fallible systems method of doing things (and I likely will at a later date – but at the moment I'm focused on other parts of development), this will involve a lot of rewriting and the system parameters for systems I write in future will be more verbose.
Related issues: #16578, #15265, #17138, #17178, #17324
The text was updated successfully, but these errors were encountered: