A framework for saving and loading game state in Bevy.
bevy_save is primarily built around extension traits to Bevy's
Serialization and Deserialization
DynamicScene only allows you to save entities and components,
bevy_save enables you to save everything, including resources.
World.deserialize<D>()allow you to serialize and deserialize game state with your own serializer / deserializer.
Save file management
bevy_save automatically uses your app's cargo package name to create a unique, permanent save directory in the correct place for whatever platform it is running on.
Supports Windows, Linux, and MacOS.
World.load()uses your app's save directory to save and load your game state to disk, handling all serialization and deserialization for you.
Snapshots and Rollback
bevy_save is not just about save files, it is about total control over game state. Rollback allows you to keep multiple snapshots of game state in memory and scroll through them in real time.
World.snapshot()captures a snapshot of the current game state, including resources.
World.checkpoint()captures a snapshot for later rollback / rollforward.
World.rollback()rolls the game state backwards or forwards through any checkpoints you have created.
bevy_save is dual-licensed under MIT and Apache-2.0.
NOTE: We do not track Bevy main.
|Bevy Version||Crate Version|