Data Persistence - Save & load your game state while avoiding common mistakes | Unity Tutorial
LlamAcademy LlamAcademy
23.1K subscribers
52,142 views
1.8K

 Published On Jun 28, 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/dotn...

💸 Ongoing sales 💸
⚫ See all active asset sales on the Asset Store: https://assetstore.unity.com/?on_sale...
⚫ Save 25% off your first Asset Store Order: https://prf.hn/click/camref:1101l9QvC...
⚫ Save up to 50% on NEW Assets: https://assetstore.unity.com/?new_sal...

👨‍💻 As always, all code from this video is available on GitHub: https://github.com/llamacademy/persis...

📚 Resources 📚
⚫ JSON.Net: https://www.newtonsoft.com/json
⚫ Encrypt/Decrypt Data with AES: https://docs.microsoft.com/en-us/dotn...
⚫ Binary Formatter Security: https://docs.microsoft.com/en-us/dotn...
⚫ Unity JSON.Net Package: https://docs.unity3d.com/Packages/com...
⚫ Protobuf (BinaryFormatter alternative): https://github.com/protocolbuffers/pr...
⚫ Protobuf C# Docs: https://developers.google.com/protoco...

❤ Believe in LlamAcademy's mission and have received value from the videos? Become a Patreon Supporter or YouTube Member:
⚫ Patreon:   / llamacademy  
⚫ YouTube Member:    / @llamacademy   or click the Join button on any video

📱 Let's stay connected
YouTube:    / llamacademy  
Patreon:   / llamacademy  
Facebook:   / llamacademyofficial  
Twitter:   / thellamacademy  
TikTok:   / llamacademy  
Instagram:   / 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/publishe...
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.

#unitytutorial #tutorialtuesday #gamedev #tutorial #unity #llamacademy #gamedevelopment

Chapters:
00:00 What you shouldn't do
01:45 What you should do
03:20 JSON Serialization
04:43 Sample Scene Overview
06:00 Defining IDataService.cs
07:00 Saving Data with JsonDataService.cs
09:33 Saving Data with the DataService in Demo.cs
11:03 Demo Saving Data
11:50 Loading Data with JsonDataService.cs
13:19 Loading Data with the DataService in Demo.cs
14:23 Demo Loading Data
15:36 Encrypting Data in JsonDataService.cs
19:33 Decrypting Data in JsonDataService.cs
22:02 Encryption/Decryption Demo
23:05 Demo Encryption/Decryption Error Handling
23:47 Final Thoughts

show more

Share/Embed