- Removed UniTask requirement. Write SAVE_SYSTEM_UNITASK_SUPPORT in scripting define symbols to enable UniTask support
- Scene switching support was added
- Added 3 new attributes for methods - ProjectBootstrap, SceneBootstrap and BootstrapCallback
- Added methods for saving and loading scenes
- Added debug logs for SaveSystemCore properties
- All exception catching has been removed; only OperationCancelException will be caught, other exceptions will be thrown again
- Fixed a bug with removing of dynamic objects when saving
- Added new feature - saving and loading data using a
data buffer
- Added new structure - DataBuffer
- Added new interface - IStorable, the interface implemented by objects that write data to DataBuffer and read data from it
- Added new handler - SmartHandler, the new handler handles IStorable objects
- Unity handlers was separated as buffering and direct. Buffering handlers write and read data using MemoryStream, direct handlers write and read data using FileStream
- Fixed missing validation in the DataManager methods parameters
- Fixed missing validation in the SaveSystemCore properties
-
Added Object Handlers. You can use these instead of the obsolete DataManager class methods
-
Added Checkpoints. You can set checkpoints in a scene in the editor, or at runtime by use the CheckPointsCreator class
-
Added the Save System Core. This is a new subsystem that can save your objects and handlers in the internal loop, during a quick-save and when the player hits any checkpoint
- Advanced methods have been moved to the Advanced class - the nested class within the DataManager. These methods have been renamed
- Data handlers (UnityWriter, UnityReader, etc.) have been moved to SaveSystem.UnityHandlers namespace
- Fixed catching the exception that throws when the binary reader is null
- Fixed file deleting when canceling a save, now UnityWriter writes data to a memory stream instead of writing directly to the file
- Added asynchronous data handling:
- Added new interface - the IPersistentObjectAsync for asynchronous handling of objects
- Expanded UnityWriter and UnityReader handlers - added asynchronous methods in them to write and read data
- Expanded the DataManager - added asynchronous methods to save and load objects
- Removed write and read meshes array methods
- Removed methods for writing and reading a list of objects. Instead, use the write and read methods of an array of objects.
- Removed methods for saving and loading a list of objects from the DataManager. Instead, use the save and load methods of an array of objects.
- Added write and read mesh and meshes array methods
- Added methods for writing and reading arrays of basic data types and unity structures
- Removed methods for writing and reading MonoBehaviour classes. Use SaveObject method instead and implement the IPersistentObject interface in your MonoBehaviour classes
- Added methods for writing and reading unity structures such as Color32, Matrix4X4, Vector2, Vector4.
- Added methods for writing and reading classes which inherits from MonoBehaviour
- Renamed "ReadPosition" method to "ReadVector3" (in UnityReader class)
- Fixed problem with writing data to file. UnityWriter was leaving "trash" bytes at the end of the file if it wrote fewer bytes than the file contains
- Added displaying of size of data (in "Data Manager / Get Data Size" menu in editor)
- Added support of saving single object and list of objects
- Create package