Easy Save - The Complete Save Data & Serialization Asset

Easy Save
The Complete Save Data & Serialization System for Unity
Contact Us | Home | Guides | Docs | Forum | Asset Store

Available from the Unity Asset Store
Click here to Buy

Easy Save makes saving and loading data simple by combining serialization and storage into one neat package. Serialize just about anything and store it to file with ease.

░░░░░░░░░░░░░░░░░░░░░░░░░░

Why use Easy Save?

For Amateurs...
It's easy to use and well documented

For Experts...
It's fast, feature-rich and extremely flexible

★ On the Asset Store since 2011 ★

░░░░░░░░░░░░░░░░░░░░░░░░░░░

Compatible with
PC, Mac, Linux, Windows Universal, iOS, tvOS, Android, Steam, WebGL
PlayMaker, Bolt

Fast and lightweight serialization
Using a JSON serializer designed for Unity

Fully documented
Guides | Examples & Tutorials | API Reference

PlayMaker and Bolt visual scripting support
Save and Load using PlayMaker Actions
Access Easy Save from Bolt graphs

5-star customer support
via Email and Dedicated Forum

Secure save data with encryption
Encrypt Save Data

Compact files with compression
Makes files 85% smaller on average

Save & load from web
Upload to cloud database using PHP & MySQL

Cross-platform save data
Use Save Files & Code on All Supported Platforms

Save almost any type
Even serialization of references

Save and load spreadsheet
In CSV format for Excel

File IO
Save strings/bytes as files

Much more flexible than PlayerPrefs
But just as simple to use

How do I use Easy Save?
See the Getting Started guide

░░░░░░░░░░░░░░░░░░░░░░░░░░░

Available from the Unity Asset Store
Click here to Buy

Contact Us | Guides | Docs | Forum | Getting Started

*PlayMaker and Bolt are purchased separately

2 Likes

If anyone has any questions about Easy Save then please feel free to ask them here or using the form on the website and I'll get back to you as soon as possible.

A fair number of you have bought it but I've not received any questions, so I can only assume that it's working great for all!

where does it save data when using webplayer? Playerprefs?

Hi zemog86,

We actually pulled the Web Player save functionality yesterday because we felt it needed a bit of work. However, the original implementation did indeed save to PlayerPrefs. My greatest apologies for the inconvenience!

If you have already purchased Easy Save for the Web Player functionality and would like a refund, please send me a PM and I'll arrange it ASAP. When Web Player support is up and running again I'll let you know.

Edit: We will be adding the ability to upload to server (and download from server) soon, which could be used to save data in the Web Player. We've used this method in our app SculptPad, and also has the advantage of being able to use the same save file on all platforms.

How much?

Using Application.persistentDataPath is terrible idea. It is hidden folder under Windows. Using playerprefs is even worse - it is Windows Register. There should be variable like public string saveFolder = "SaveGame" initialized automaticly according to current OS.

[quote=“Rush-Rage-Games”, post:5, topic: 446212]
How much?
[/quote]
$40 at the moment, which is the price which Unity suggested that we put it up at.

We’re working on a solution for this, and this is indeed the reason that we’ve removed all PlayerPrefs support. We would hope that in the near future Unity themselves would implement an actual persistent data folder.

A quick update.

We're including the variables 'public static windowsDataPath' and 'public static osxDataPath' which will allow you to set a custom data path for Windows and OSX. If left blank, it will default back to the Application.persistentDataPath. Because mobile devices are more security conscious, we've not included the option for iOS or Android.

With any luck we should have the update out in the next 48 hours, which will also include functions which allow you to load a JPG or a PNG from the web into a texture.

Thanks for the support everyone, and please do keep the feedback coming!

Edit: The update has been submitted to Unity, so I'm just waiting for them to upload it to the Asset Store.

This script/tool is a Great purchase! Very very useful, and well crafted.

Thanks for the addition of the custom data path support.

Are there any plans to add support for encrypting/decrypting the save files easy save creates.
Are there any plans on creating a tool to send the save files Easy Save creates to a server via PHP?

[quote=“3Duaun”, post:9, topic: 446212]
This script/tool is a Great purchase! Very very useful, and well crafted.

Thanks for the addition of the custom data path support.

Are there any plans to add support for encrypting/decrypting the save files easy save creates.
Are there any plans on creating a tool to send the save files Easy Save creates to a server via PHP?
[/quote]
Thanks for the praise, zhx. It really does mean a lot to us to get some feedback.

You’re not the first person to ask about encryption, so we’ve put it on our list of things to add in the near future, possibly even in the next release.

As for sending save files to a server using PHP, that’s definitely coming in the next update. We’ve actually already implemented it in our game ‘SculptPad’ for iOS, but we’re in the process of making it more user-friendly. This will also mean that you can use the Web Player to then load files you’ve saved using iOS/PC/Mac etc.

If anyone else has any suggestions for what they would like to see in the next release, then please do let us know.

How about a file integrity check to prevent tampering

Are there any videos or something?

[quote=“spinaljack”, post:11, topic: 446212]
How about a file integrity check to prevent tampering
[/quote]
That’s a great idea, and shouldn’t be too difficult to implement. It will most likely comprise of an MD5 hash with a password.

There’s full documentation HERE, and there are examples and unit tests provided with the asset. We don’t feel that a video is really necessary because it’s so simple to use.

[quote=“JoelAtMoodkie”, post:13, topic: 446212]
There’s full documentation HERE, and there are examples and unit tests provided with the asset. We don’t feel that a video is really necessary because it’s so simple to use.
[/quote]
I am not having usage problems, I want to see how it works and what it does before I even bother buying it.

The documentation outlines what it does and how it works. If you wanted to save an array of Vector3, you would call:
EasySave.save(myArrayOfVector3, "myFileName.file");

And then to load it up again you could call:
Vector3[ ] newArray = EasySave.load("myFileName.file");

That's how it works, and what it does is save the specified data types. More info can be found on the Asset Store Page which I linked in the original post.

What does this give you beyond normal binary serialization? I'm assuming there is more to it beyond just dumping the object to a file.

Primarily Easy Save is to save you the hassle of writing your own save/load functions, and also to simplify the process for people with less programming knowhow, in a package which has been well tested and is compatible with most platforms. It uses System.IO functions because they're fast and reliable; there's no point overcomplicating things.

What makes it more than just 'normal binary serialization' are the features that we're constantly adding. A read of the posts above will give a taste of what's to come. The best way to think of assets (or any middleware for that matter) is 'How much time is it going to save me in the long run?'. At $40, even if we weren't developing it any further, it would still pay for itself in time saved alone.

[quote=“JoelAtMoodkie”, post:10, topic: 446212]
You’re not the first person to ask about encryption, so we’ve put it on our list of things to add in the near future, possibly even in the next release.

As for sending save files to a server using PHP, that’s definitely coming in the next update. We’ve actually already implemented it in our game ‘SculptPad’ for iOS, but we’re in the process of making it more user-friendly. This will also mean that you can use the Web Player to then load files you’ve saved using iOS/PC/Mac etc.
[/quote]

Okay, these statements sold me :slight_smile: You will see a purchase from me when I get home tonight.

Anything to assist the passing of data to an online database and retrieving it again, especially with encryption and the ability to do it field by field is going to save me so many hours of building that I can devote to other things.

Thanks

Regards

Graham

[quote=“MaliceA4Thought”, post:18, topic: 446212]
Okay, these statements sold me :slight_smile: You will see a purchase from me when I get home tonight.
[/quote]
Hiya Graham,

We’re working on getting that functionality out sometime next week, so we won’t keep you waiting too long :slight_smile:

WHOA, did I just hear you properly? PHP support in the next update. IMPRESSIVE, one of the best Asset Store purchases we've made yet, hands down! Great support, awesome updates, and a big time-saver. 5 star rating made in the Asset Store!

As soon as you get encryption, on top of a PHP means of transferring saves/saved-data, this is going to be a powerhouse of a toolset. Thank you VERY much for your continued support and development of this tool. I cant wait to use easy-save for leaderboards soon too.

a few more questions:
Do you have a target version of PHP you're targeting? 4,5, etc?

This might seem VERY off topic: are there any plans on adding support for the encoding of entire (C#)scripts and/or gameobject, thus sending entire files, to and from a server via php? For example, sending a gameobject, with colliders, and scripts, by passing itself to an Easy Save call? This would allow for the ability to send immediate updates to bugs, without a full app update(executed in mid-gameplay, so useful), but also opening the doors to some serious delegate trickery, potentially ;-). I find myself having to do a lot of parsing and tweaking to add more than 1 variable to a file, for easy reading.
Perhaps most importantly though, this could allow for a developer to create(and share) virtual "prefabs"(complete with scripts, colliders, etc) that can be saved online or offline, and recalled(at any time) similar to a save-state for a gameObject; which would be GREAT in sooooo many ways, for soooo many things. I'm sure this isn't any small task, but just wondering.