기본 패턴
csharp
PlayerPrefs.SetFloat("music_volume", 0.8f);
float volume = PlayerPrefs.GetFloat("music_volume", 1f);
PlayerPrefs.Save();설명
PlayerPrefs는 작은 설정값을 저장하고 다시 불러올 때 가장 손쉬운 내장 저장 방식입니다.- 정수, 실수, 문자열만 직접 저장할 수 있어서 볼륨, 난이도, 마지막 해금 여부 같은 간단한 값에 잘 맞습니다.
- 복잡한 세이브 파일 구조나 보안이 중요한 데이터에는 한계가 있습니다.
- 기본값을 함께 주면 저장된 값이 없을 때도 안전하게 처리할 수 있습니다.
짧은 예제
csharp
[SerializeField] private AudioSource bgm;
private void Start()
{
float volume = PlayerPrefs.GetFloat("bgm_volume", 0.5f);
bgm.volume = volume;
}
public void SaveVolume(float value)
{
PlayerPrefs.SetFloat("bgm_volume", value);
PlayerPrefs.Save();
}빠른 정리
| 항목 | 설명 |
|---|---|
SetInt/SetFloat/SetString | 값 저장 |
GetInt/GetFloat/GetString | 값 불러오기 |
| 기본값 | 저장값이 없을 때 대체값 사용 |
Save() | 즉시 저장 반영 |
| 적합한 용도 | 옵션, 간단한 진행 상태 |
주의할 점
PlayerPrefs는 작은 설정 저장에 적합하지, 복잡한 인벤토리나 대규모 세이브 데이터 저장소는 아닙니다. 용도를 넘어서면 구조가 금방 불편해집니다.
참고 링크
1 sources