UniSave is a component based save system for Unity. It allows you to save data to a file, and load it back in when needed. This works on a per component basis. To save specific data, you add the State component to a game object. This component will give you a list of all the supported components on the game object, and you can select the components you want to save. To initiate the saving process, you simply call UniSave.Save(saveName). Loading a save file is as easy as UniSave.Load(saveName).
Out of the box, UniSave supports 53 components. You can add support for your own components by creating a serialization for them. This is easy to do, and UniSave contains templates and examples to show you how to do this.
The supported platforms are:
Windows
Mac
Android
iOS
UniSave includes some extras like a checkpoint save prefab, and some API features. You can read more about all of it in the manual which is included in this package.