bevy_anyhow_alert
This crate offers an extension trait for systems that helps with system- and application-level error management in Bevy. Mildly configurable using the re-export of bevy_ui_mod_alerts. The main benefit: your systems can return anyhow::Result (or even Result<T, Vec<anyhow::Error>>)!

How To Use
When writing your systems, return one of the two accepted types:
bevy_anyhow_alert::Result<T>: a re-export ofanyhow::Result<T>bevy_anyhow_alert::ResultVec<T>: an alias forResult<T, Vec<anyhow::Error>>
Then call my_system.anyhow_alert()! When it errors, you'll see toasts fire (don't forget a camera).
let mut app = new;
// ...
app.add_system;
// ..
app.run;
Feel free to define whatever types of errors your want throughout your application. When returning errors, the error is wrapped in an anyhow::Error with anyhow::Error::new(MyError). This is especially easy if you derive thiserror::Error on your Error type.
;