Data Persistence - Save & load your game state while avoiding common mistakes #shorts
Published: 10 Jul 2022
Learn how to save and load data in Unity - avoiding common mistakes and dangerous serialization techniques many other tutorials will tell you to use!
In this video we'll look at using text-based serialization using JSON and optionally encrypt that data. I also discuss some of the pros/cons for using text-based serialization, and what you should use instead if you really want to/need to use a binary serialization technique.
Common suggestions that you should absolutely not use to persist game state data are:
1. Player Prefs - these are not designed for storing game state. Only...Player Preferences such as graphic & audio settings.
2. BinaryFormatter - this class is dangerous and insecure. Use of this class can allow an attacker to take over the system. https://docs.microsoft.com/en-us/dotnet/standard/serialization/binaryformatter-security-guide
As always, all code from this video is available on GitHub: https://github.com/llamacademy/persistent-data/
📚 Resources 📚
⚫ JSON.Net: https://www.newtonsoft.com/json
⚫ Encrypt/Decrypt Data with AES: https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.aes?view=net-6.0
⚫ Binary Formatter Security: https://docs.microsoft.com/en-us/dotnet/standard/serialization/binaryformatter-security-guide
⚫ Unity JSON.Net Package: https://docs.unity3d.com/Packages/com.unity.nuget.newtonsoft-json@3.0/manual/index.html
⚫ Protobuf (BinaryFormatter alternative): https://github.com/protocolbuffers/protobuf
⚫ Protobuf C# Docs: https://developers.google.com/protocol-buffers/docs/csharptutorial
📱 Let's stay connected
YouTube: https://youtube.com/c/LlamAcademy
Patreon: https://www.patreon.com/llamacademy
Facebook: https://facebook.com/LlamAcademyOfficial
Twitter: https://twitter.com/TheLlamAcademy
TikTok: https://tiktok.com/@LlamAcademy
Instagram: https://instagram.com/LlamAcademy
----
Believe in LlamAcademy's mission and have received value from the videos? Consider becoming a Patreon supporter: https://www.patreon.com/llamacademy
----
Most tutorials come from knowledge gained making https://survival.llama.software Llama Survival - a top-down zombie survival shooter for Android and iOS.
I also have some Unity Assets (affiliate link): https://assetstore.unity.com/publishers/22409?_aid=1101l9QvC