SaveGame ownership
슬롯 파일과 런타임 복원을 분리해서 설계한다
SaveGame 객체는 저장 파일의 모양이고, 실제 복원은 플레이어와 월드
시스템에 값을 다시 적용하는 작업입니다.
Slot
파일 이름과 사용자 인덱스
Payload
UPROPERTY로 직렬화할 값
Owner
로드 뒤 값을 받을 런타임 객체
1
슬롯 결정
Save slot name과 user index를 고정합니다.
2
컨테이너 생성
CreateSaveGameObject로 저장 객체를 만듭니다.
3
값 복사
점수, 위치, 인벤토리 ID를 파일용 필드에 담습니다.
4
실패 확인
SaveGameToSlot 반환값과 로그를 남깁니다.
5
런타임 반영
로드 값은 플레이어, 월드, UI에 순서대로 적용합니다.
저장 값
파일에 남길 형태
로드 뒤 적용 위치
플레이어 상태
체력, 점수, 위치, 회전
Pawn 또는 PlayerState
진행도
현재 레벨, 퀘스트 완료 키
GameMode, Quest Manager
인벤토리
아이템 이름보다 안정적인 ID
Inventory Component
파일 없음
DoesSaveGameExist가 false면 새 게임 흐름으로 보냅니다.
대상 없음
Pawn이나 Manager가 아직 없으면 적용을 지연합니다.
버전 차이
필드가 바뀌면 기본값과 마이그레이션 경로를 둡니다.