Skip to content

System game data unity (Unity 2022.3)

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

wolf-org/game-data-unity

Repository files navigation

Made With Unity License Last Commit Repo Size Last Release

What

flowchart LR
    Unity.Serialization{Unity.Serialization} --> W(Write) & R(Read) 
    click Unity.Serialization "https://docs.unity3d.com/Packages/[email protected]/manual/index.html" _blank
    Data[("Data <br> Profile 0<br>.<br>.<br>.<br> Profile N <br> Dictionary&lt;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&lt;T>) & Set(Set&lt;T>) & DeleteKey(DeleteKey) & HasKey(HasKey) & DeleteAll(DeleteAll)
    File{{File Data}} --- W & R
Loading
  • 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/wolf-org/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[]