11 releases (7 breaking)
| 0.8.0 | Dec 27, 2024 |
|---|---|
| 0.6.0 | Dec 27, 2024 |
| 0.5.0 | Nov 18, 2023 |
| 0.2.0 | Nov 19, 2022 |
#1098 in Game dev
536 downloads per month
16KB
163 lines
Bevy background compute
This bevy plugin provides improvements to handling of background tasks. It adds a Commands extension to more easily place a Future onto bevy's TaskPool and upon completion it will send a callback in the form of an event containing the result.
Full usage example
Check out the basic_usage example with
cargo run --example basic_usage
Registering a type as background computable
In order to keep track of running tasks and to produce completion events every type returned by your Futures has to be registered using the BackgroundComputePlugin<T>.
app.add_plugins(BackgroundComputePlugin::<MyType>::default())
Computing a Future in background
commands.compute_in_background(async {
// Your code here
});
Getting the result
// Create a system consuming BackgroundComputeComplete<T> events
fn my_callback_sys(
mut events: EventReader<BackgroundComputeComplete<MyType>>
) {
// Handle like any other bevy event
}
Version compatibility
| Plugin | Bevy |
|---|---|
| 0.1 | 0.8 |
| 0.2 | 0.9 |
| 0.3 | 0.10 |
| 0.4 | 0.11 |
| 0.5 | 0.12 |
| 0.6 | 0.13 |
| 0.7 | 0.14 |
| 0.8 | 0.15 |
Dependencies
~16–23MB
~338K SLoC