Skip to content

QuickSave

| 🪄github 바로가기

Cysharp의 MemoryPack을 이용하여 Binary 파일을 Serialize, Deserialize하여 데이터를 저장 및 로드하는 기능을 제공합니다.
Data Protector를 설치하시면 데이터를 압축하여 암/복호화할 수 있는 기능도 제공합니다. (문서)


  1. NugetForUnity 패키지를 README를 따라 설치합니다.
  2. 에디터 상단의 NuGet/Manage NuGet Packages를 클릭하여 MemoryPack을 다운로드합니다.

이 설정을 통해 메모리팩은 유니티 내에서 원활한 바이너리 직렬화 및 역직렬화를 준비할 수 있습니다.

아래 두 가지 방법 중 하나를 선택합니다.

github URL의 # 뒷버전은 Changelog의 최신 사항을 참고해주세요.

  1. UPM을 연 후 좌측 상단의 + 버튼을 누릅니다.
  2. Install package from git URL...을 선택합니다.
  3. https://github.com/achieveonepark/quick-save.git#1.0.0를 입력 후 Install합니다.
  1. Unity Project/Packages/manifest.json 파일을 실행합니다.
  2. Dependencies"com.achieve.quick-save": "https://github.com/achieveonepark/quick-save.git#1.0.0" 내용을 추가합니다.

이 패키지는 아래의 기능을 제공합니다.

QuickSave.Builder | QuickSave 객체를 생성합니다.
QuickSave.SaveData<T> | T 클래스의 데이터를 Binary 파일로 persistentDataPath에 Save합니다.
QuickSave.LoadData<T> | T 클래스의 데이터를 persistentDataPath에서 가져와 Load합니다.
[MemoryPackable]
public partial class Monster
{
public int HP;
public long Attack;
public long Defense;
}
using Achieve.QuickSave
public class DataMng : MonoBehaviour
{
QuickSave<Monster> data;
void Start()
{
Monster monster = new Monster();
monster.HP = 10000;
monster.Attack = 10000;
monster.Defense = 100000;
data = new QuickSave<Monster>.Builder()
.UseEncryption("ejrjejrtlq3mgfeq") // Data Protector를 추가한 경우 사용 가능합니다.
.UseVersion(55) // 데이터에 대한 버전을 설정합니다.
.Build();
// 데이터를 저장합니다.
data.SaveData(monster);
// 물리적으로 저장 된 데이터를 Load합니다.
var loadMonster = data.LoadData();
}
}

Memory Pack (1.21.1)


link