게임개발 캠프 39일차

IIRU·2026년 7월 9일

SaveLoadManager.cs

세이브 데이터가 필요한 순간에 사용가능

using System;
using UnityEngine;

[Serializable]
public class PlayerData
{
    public string name;
    public int level;
    public int gold;
}
using UnityEngine;
using System.IO;
public class SaveLoadManager : MonoBehaviour
{

    PlayerData data;

    string fileName;
    string savePath;


    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        data = new PlayerData();
        data.name = "이름";
        data.level = 1;
        data.gold = 100;
        fileName = "PlayerData.json";
        //기본 저장 경로 -> 플랫폼 상관없이, 기본 저장 경로를 저장해준다.
        savePath = Path.Combine(Application.persistentDataPath, fileName);

        //Save();
        Load();
    }

    void Save()
    {

        string json = JsonUtility.ToJson(data, true);

        File.WriteAllText(savePath, json);
        Debug.Log(savePath);
    }

    void Load()
    {
        if (File.Exists(savePath) == false)
        {
            Debug.Log("세이브 데이터가 없습니다.");
        }

        string json = File.ReadAllText(savePath);

        PlayerData loadData = JsonUtility.FromJson<PlayerData>(json);

        Debug.Log(loadData.name);
        Debug.Log(loadData.level);
        Debug.Log(loadData.gold);
        

    }

}

데이터 파일이 json으로 생기도록 할 수 있음.
무조건 덮어쓰기로 파일이 생기므로 조심해야함.

profile
초보 개발자 블로그입니다!

0개의 댓글