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.
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!
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.
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.
$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.
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?
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.
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.
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.
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.
Okay, these statements sold me 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.
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.