Unreal C++ · 데이터 경계

데이터 통로는 저장 위치보다 수정 주체와 수명으로 고릅니다

SaveGame, 파일 I/O, JSON, Data Asset은 모두 데이터를 다루지만, 플레이어별 상태인지, 외부 교환 형식인지, 에디터에서 관리되는 정의 데이터인지에 따라 선택 기준이 달라집니다.

SaveGame

플레이어 진행 상태

슬롯별 점수, 위치, 인벤토리, 퀘스트 완료 여부를 보존합니다.

FFileHelper

텍스트 로컬 파일

로그, 텍스트 설정, 작은 캐시처럼 직접 경로를 다룰 때 적합합니다.

JSON

외부 교환 형식

웹 API, 설정 파일, 도구 출력처럼 사람이 읽고 파싱하기 쉬운 구조입니다.

Data Asset

게임 정의 데이터

아이템, 스킬, 밸런스 값처럼 디자이너가 에디터에서 조정합니다.

C++ 코드에서 만나는 경계

runtime
읽기

LoadGameFromSlot, LoadFileToString, JSON 파싱 결과는 모두 실패 가능성을 반환값으로 확인합니다.

쓰기

SaveGameToSlotSaveStringToFile은 저장 성공 여부를 로그와 사용자 피드백으로 남깁니다.

데이터 주도 설계에서 확인

editor
런타임 가드

Data Table 행과 Primary Data Asset은 저장 시 검증과 게임 시작 시 런타임 가드를 함께 둡니다.

공유

아이템 이름, 설명, 스택 수, UI 표시 텍스트가 같은 데이터 정의를 바라보면 유지보수가 쉬워집니다.