Unity PlayerPrefs 및 XML 세이브 편집 방법 - 완벽 가이드
소개

Unity는 세계에서 가장 인기 있는 게임 엔진으로, 모든 모바일 게임의 50% 이상과 PC 및 콘솔의 수많은 인디 타이틀을 지원합니다. Unity 게임에서 진행 상황을 수정하고 싶었다면 – 레벨 잠금 해제, 화폐 추가, 또는 단순한 실험 등 – 이 가이드가 알아야 할 모든 것을 가르쳐 드립니다.
단일 세이브 형식을 사용하는 일부 엔진과 달리, Unity 게임은 다양한 방식으로 데이터를 저장할 수 있습니다. 가장 일반적인 방법은:
- PlayerPrefs: 내장된 키-값 저장 시스템.
- XML 파일: 모바일에서 일반적인 구조화된 텍스트 파일.
- JSON 파일: 사람이 읽을 수 있는 데이터 형식.
- 바이너리 파일: 커스텀 직렬화된 데이터 (편집하기 어려움).
우리의 Save Editor Online은 브라우저에서 직접 PlayerPrefs (XML/Plist), XML, JSON 형식을 지원합니다.
Unity 세이브 위치 이해하기
세이브 파일의 위치는 플랫폼에 따라 다릅니다:
Windows
- PlayerPrefs:
HKCU\Software\[회사명]\[제품명]의 Windows 레지스트리에 저장됩니다. 직접 편집하기 까다롭습니다. - 파일: 종종
%AppData%\LocalLow\[회사명]\[제품명]\또는 게임 설치 폴더에 있습니다.
Android
- PlayerPrefs (XML):
/data/data/[패키지명]/shared_prefs/[패키지명].v2.playerprefs.xml에 위치합니다. - 가져오려면 루트 접근 또는 ADB가 필요합니다.
iOS / macOS
- PlayerPrefs (Plist): 앱 컨테이너에
.plist파일로 저장됩니다. - macOS에서는 종종
~/Library/Preferences/에 있습니다.
Steam 클라우드
- 일부 게임은 세이브를 Steam 클라우드에 동기화합니다. 편집 전에 클라우드 동기화를 비활성화해야 할 수 있습니다.
1단계: 세이브 파일 찾기 및 추출
Android (루팅됨):
- 루트 접근이 있는 파일 탐색기를 사용합니다 (예: Solid Explorer).
/data/data/[패키지명]/shared_prefs/로 이동합니다..xml파일을 접근 가능한 위치로 복사합니다 (예: Download 폴더).
Android (루팅 안됨, ADB 사용):
- 휴대폰에서 개발자 모드를 활성화합니다.
- USB로 연결하고 실행:
adb backup -f backup.ab [패키지명] android-backup-extractor같은 도구로 백업을 추출합니다.
PC:
- 게임의 세이브 폴더로 이동합니다 (위의 위치 참조).
- 세이브 파일을 안전한 위치에 복사합니다.
2단계: 백업 생성
편집 전에, 항상 세이브 파일의 백업 복사본을 만드세요. savegame.xml.backup 같은 이름을 지정하세요.
3단계: 온라인 에디터에 업로드
- 우리의 Unity 에디터로 이동합니다.
.xml,.plist, 또는.json파일을 드래그 앤 드롭합니다.- 파싱이 완료될 때까지 기다립니다.
에디터가 세이브 파일의 모든 키와 값을 트리 뷰로 표시합니다.
4단계: 값 수정
Unity PlayerPrefs는 일반적으로 설명적인 키 이름으로 단순한 값을 저장합니다:
PlayerLevel(정수)Coins또는Gold(정수)UnlockedLevels(문자열, 종종 쉼표로 구분)SoundEnabled(정수, 0 또는 1)
값을 클릭하여 편집합니다. Coins를 500에서 99999로 변경하면 거의 무한한 화폐를 얻을 수 있습니다.
복잡한 데이터 작업
일부 게임은 복잡한 데이터를 단일 PlayerPrefs 키 내에 직렬화된 JSON 문자열로 저장합니다. 이 경우:
- 키를 찾습니다 (예:
SaveData). - 값을 복사합니다.
- JSON 포매터에 붙여넣어 읽기 쉽게 만듭니다.
- 원하는 값을 편집합니다.
- 수정된 JSON을 다시 붙여넣습니다.
5단계: 다운로드 및 교체
- 수정된 세이브 다운로드를 클릭합니다.
- 파일을 원래 위치로 다시 전송합니다:
- Android에서는 파일 관리자 또는 ADB의
push명령을 사용합니다. - PC에서는 단순히 복사하여 교체합니다.
- Android에서는 파일 관리자 또는 ADB의
- 게임을 실행하고 변경 사항을 확인합니다.
문제 해결
게임이 내 변경 사항을 리셋합니다
- 게임이 서버와 동기화 중일 수 있습니다. 오프라인 모드로 플레이해 보세요.
- 일부 게임은 체크섬으로 세이브 데이터를 검증합니다. 이런 경우 더 고급 기술이 필요합니다.
파일 형식이 잘못된 것 같습니다
- 올바른 파일을 편집하고 있는지 확인하세요. Unity 게임은 여러 세이브 파일을 가질 수 있습니다.
- 파일이 바이너리/암호화되어 있으면, 에디터가 원시 데이터를 표시할 수 있습니다. 다른 세이브 메커니즘을 찾아보세요.
Android: 권한 거부
shared_prefs폴더에 접근하려면 루트 접근 또는 ADB를 사용해야 합니다.
자주 묻는 질문
Q: 모든 Unity 게임에서 작동하나요? A: PlayerPrefs (XML/Plist) 또는 표준 JSON/XML 세이브를 사용하는 게임에서 작동합니다. 커스텀 바이너리 형식이나 암호화가 있는 게임은 지원되지 않을 수 있습니다.
Q: 세이브 편집으로 밴당할 수 있나요? A: 싱글 플레이어 게임의 경우, 아니오. 온라인 요소가 있는 게임의 경우, 서버가 불일치를 감지하면 밴될 수 있습니다. 온라인 게임에서는 본인 책임 하에 사용하세요.
Q: 이 방법으로 인앱 구매를 잠금 해제할 수 있나요? A: 게임이 IAP 상태를 로컬에 저장하면 가능할 수 있습니다. 하지만 서버에서 검증된 구매는 우회할 수 없습니다.
Q: Android에서 루트 접근이 필요한가요? A: 대부분의 PlayerPrefs 편집에는 필요합니다. 또는 루트 없이 ADB 백업을 사용할 수 있습니다.
고급: Windows 레지스트리 PlayerPrefs 편집
Windows 레지스트리에 PlayerPrefs를 저장하는 게임의 경우:
Win+R을 누르고,regedit를 입력하고, Enter를 누릅니다.HKEY_CURRENT_USER\Software\[회사명]\[제품명]으로 이동합니다.Coins_h[해시코드]같은 이름의 키가 보입니다. 값은 바이너리입니다.- PlayerPrefs 전용 도구를 사용하거나 바이너리 데이터를 수동으로 디코딩합니다.
이것은 파일 기반 세이브보다 복잡하지만, 올바른 도구로 가능합니다.
결론
Unity 세이브 편집은 매우 쉬운 것(간단한 XML 파일)부터 상당히 어려운 것(암호화된 바이너리 데이터)까지 다양합니다. 우리의 무료 온라인 에디터는 일반적인 경우를 자동으로 처리하여, 몇 초 만에 게임 진행 상황을 수정할 수 있게 합니다. 항상 세이브를 백업하고, 향상된 게임 경험을 즐기세요!
관련 문서: 일반 세이브 파일 확장자 설명