Want to secure your save game data from hackers or cheaters?
SafeSave was developed to address the need for a multi-platform secure saving solution. This simple plugin allows developers to encrypt save data to specific devices to combat the hacking and/or sharing of save data files. all values within the save data file is encrypted individually and due to the use of a randomly generated key, no two saves ever produce the same encrypted data.
Best of all, this plugin includes a simple to use code generator, so you don’t need to write any code to integrate the plugin.
Currently several platforms have been tested including:
Windows.
Mac.
Linux.
Android.
IOS.
Other platforms (except webplayer) should work, however due to a lack of available testing devices, we can not currently guaranty functionality for those untested platforms.
If requested, web player support can be added to the next update.
As this is our first release, I am eager to receive both feedback and suggestions to help improve the plugin :).
The key is generated based on the unique identifier of the device, such as an Android device. The encryption is then seeded from a randomly generated GUID. As the decryption key is generated at runtime from the UID of the device, another device is therefore incapable of reading the save data.
Hello again fellow developers
As this is our first plugin release for Unity, I would appreciate some opinions from the community regarding two matters.
What are your views on the pricing for this asset, if you believe it is too expensive, what price would be more appropriate?
With regards to the simplicity of this plugin, would you like a demo? (A video is currently being created to demonstrate usage).
Thanks for the suggestion.
Unlike the link you provided, our system does not employ the PlayerPrefs system, therefore I would have to release a standalone demo for the time being.
I shall aim to have a demo available this evening.
Looks cool. It definitely adds some layer of protection, but as with any key based encryption system, if the application has access to the key so does anyone looking to hack it. All you would really need to know is the UID from the device the file came from and it could be decrypted.
Whilst any security system, including encryption can potentially be broken, this system does not solely rely upon the UID, which is primarily used to lock saves to specific devices.
The system utilises a double key approach in which one of the keys is randomly generated upon each save and thus the generated encryption key is a device UID plus a randomly generated hash. This implementation aims to further reduce the potential of cracking with regards to the method you have mentioned.
My apologies, I am currently on vacation, so emails are often only checked once a day.
The issue regarding “TypeLoadException: A type load exception has occurred.” occurs due to the API compatibility of your builder being set to “.Net 2,0 Subnet”.
Within the Player Settings of your project, set the “API Compatibility Level” to “.NET 2.0”.
That shall correct your issue
For anyone who has emailed us recently, If you have not heard back from us, please let us know at support@alkstudios.com as we have faced issues with migrating to the latest version of Outlook (metro), which is repeatedly rejecting our servers certificate for outgoing mail.
We have reverted back to outlook 2013 (desktop) which appears to be working and shall re-reply to all recently received emails. Our apologies if you did receive a reply from us, as you shall still receive a duplicated response.
Hello aquilinajake and thanks for your interest in SafeSave.
Currently there is no support for online saving. With regards to integration with frameworks such as UFPS, SafeSave is a very simple to use plugin, but as I have little to no experience with the mentioned frameworks, I am unable to provide an estimate on integration ease.
SafeSave is used to store values and as such, if you can access the values you wish to save within RFPS/UFPS, then integration should be fairly straight forward.
Can you make the variables via GUI, or do you have to code everything yourself? By that i mean making custom lists, with types in there, etc. all via gfx interface. I’m looking for a gfx solution that ignores coding.
Also, is the encryption mandatory when saving? I’m asking because it might slowdown teh game if everything is encrypted I assume. Unless your method is ultra fast.