Whats coming in Save Manager 2.x?
Currently the save manager is the asset with the longest time since its last update & with the most progress on its update. As this is the case I felt like updating you all with what has changed between the old and new versions and how it’s progressing so far.
The bad with the old setup
1.x while stable it has a lot of flaws both in workflow and how adaptable it is to different projects. The setup only allowed for 1 save data class which could easily get bloated and was often a slightly inconvient setup for non serializable types such as vectors. The setup also had no way of editing the save in the editor which is inconvient when debugging issues with projects.
What is the new version offering?
The new version offers a much more modular setup which addresses all of the above and more. This currently includes:
Save Objects & Values
- Save objects holding a collection of values that can be defined as needed.
- Can save Vectors & Colors as their normal values. No need for SaveVector2 etc anymore.
- Can store as many objects as needed.
- Tool like in 1.x to help make save objects.
- Easily make variants of data in the save with different save keys.
- Ability to edit all save data in a window.
- Changes in values apply to game save when changed.
- View/hide each save object & save value.
- Easy reset for objects & values.
- Ability to save a copy of the current save data setup in the editor and load back to it when needed.
- Profiles can also be edited in the normal Unity editor if needed.
- Changing data structure will reset values in profiles, not ideal but the feature is intended for debugging mostly and struture changes can be worked around.
The ability to show an icon on a canvas when the game is saving for a defined amoount of time. Handy if you want to let the user know the game is saving and that they should not close the game while it is active. Currently is still a work in progress but the first version is working as of writing.
Faster saving and loading
- Data stored in dictionaries for better performance.
- Saving and loading process has additional catches to avoid issues.
What is still to-do?
As of writing there is still a fair amount of work to do on the asset before it reaches a testable version. This includes a load of bug fixes to the current setup & a few features I’ve yet to implement which include:
- Save Encryption
- A way to let the user encrypt the save data should they wish to for extra security.
- Path Remapping
- Support for the user to remap the save path for the save data outside of the project as well as any editor paths for generates files from the asset such as settings assets & save profiles.
- Additional Collection Types
- Support for the normal Lists/Arrays as well as other variants and dictionaries.
- WebGL Support?
- A planned feature that 1.x didn’t support. My hope is to find a solution to let this new setup work on Web builds. But I do need to do some more research on this to be sure that it’ll work.
- Documentation & Tutorial Media
- The big bad of any asset, the docs. Always a slow process. For 2.x I plan to work find a good solution for the docs to be hosted on that I like, It’ll follow a similar structure to the Multi Scene docs I wrote last year though. With some video tutorials going over the basics of how to use the asset to hopefully help new users with commonly asked questions.
I don’t have a firm date for release yet as I need to finish the code first, but I imagine that it’ll be ready by around April at the latest. I’ll post a more exact date when I have one but for now that is the best I can give you.