UNREAL C++ · SAVE DATA
SaveGame 직렬화 안전 계약
SaveGame은 UPROPERTY 값을 파일에 쓰는 기능이지만, 실제 안정성은 버전, 식별자, 복원 순서, 검증 규칙을 함께 둘 때 확보됩니다.
저장 대상
schema
값 타입
FString, int32, FVector 같은 값은 UPROPERTY로 직접 직렬화합니다.
참조 타입
Actor 포인터 대신 ID, 이름, 데이터 테이블 행으로 복원합니다.
복원 흐름
load path
Load Slot
슬롯 존재 여부와 파일 읽기 성공을 먼저 확인합니다.
버전 점검
구버전 저장 구조는 마이그레이션 경로를 통과시킵니다.
Resolve IDs
아이템, 퀘스트, 액터 참조는 현재 월드 데이터와 다시 연결합니다.
Apply State
플레이어, 월드, UI에 순서대로 반영해 중간 불일치를 줄입니다.
민감 정보
risk
민감 정보
치트 토큰이나 비밀 값은 로컬 SaveGame에 그대로 저장하지 않습니다.
용량 증가
매 프레임 상태나 큰 배열 대신 진행에 필요한 핵심 값만 남깁니다.
GC 수명
로드 오브젝트에서 게임 상태로 복사한 뒤 참조 유지 여부를 명확히 합니다.