UnityCommon-GameData
UnityCommon-GameData provides a robust system for managing game data persistence in Unity 2022.3+ through binary serialization. Features include multiple data profiles, automatic save/load functionality, PlayerPrefs-like API, and backup/restore capabilities using Unity's serialization framework.
com.wolf-org.game-data 
Install via UPM
Add to Unity Package Manager using this URL
https://www.pkglnk.dev/game-data.git README Markdown
Copy this to your project's README.md
## Installation
Add **UnityCommon-GameData** to your Unity project via Package Manager:
1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/game-data.git
```
[](https://www.pkglnk.dev/pkg/game-data)Dependencies (1)
README
What
flowchart LR
Unity.Serialization{Unity.Serialization} --> W(Write) & R(Read)
click Unity.Serialization "https://docs.unity3d.com/Packages/com.unity.serialization@3.1/manual/index.html" _blank
Data[("Data <br> Profile 0<br>.<br>.<br>.<br> Profile N <br> Dictionary<string,byte[]>")] --> |Default use profile 0| ChangeProfile(ChangeProfile)
Data --> |Save on Application pause or quit| SaveToFile(SaveToFile)--> Unity.Serialization
Data --> |Load when startup| LoadFromFile(LoadFromFile)--> Unity.Serialization
Data --> Get(Get<T>) & Set(Set<T>) & DeleteKey(DeleteKey) & HasKey(HasKey) & DeleteAll(DeleteAll)
File{{File Data}} --- W & R
- System data for game unity (Unity 2022.3)
- Using Unity.Serialization to serialize binary data
- Data allows you to store data in byte[] form in blocks called profiles. Each profile is a Dictionary with the key as a string and the value
How To Install
Add the line below to Packages/manifest.json
for version 1.0.2
"com.wolf-org.game-data":"https://github.com/unity-package/game-data-unity.git#1.0.2",
Use
- Initialize data when loading the game:
GameData.Init()Data will be init (Load Data) automatically when game starts - Change Profile:
GameData.ChangeProfile(int profile) - Load Data:
GameData.Load()Load all data from file for game - Get Data:
GameData.Get("KEY", valueDefault);Use similar to PlayerPrefs - Set Data:
GameData.Set("KEY", value);Use similar to PlayerPrefs - Save Data:
GameData.Save()Save data to file (You should save when pausing or quitting the game)
private void OnApplicationPause(bool pauseStatus)
{
if(pauseStatus) GameData.Save();
}
- Has Key:
GameData.HasKey(string key)To check if the profile has a key, - DeleteKey:
GameData.DeleteKey(string key)To delete the key from the profile - DeleteAll:
GameData.DeleteAll()To delete the entire key - Backup:
GameData.Backup()Get raw byte[] of all data of profile - Restore:
GameData.Restore(byte[] bytes)Load from byte[]
Comments
No comments yet. Be the first!
Sign in to join the conversation
Sign In