SAVE DATA ROUTING

SaveGame 변수 저장 방식 판별

SaveGame에는 월드를 그대로 복사하는 대신 다시 만들 수 있는 최소 정보만 남깁니다. 값은 직접 저장하고, 액터는 ID와 Transform으로 복원하며, 일시 효과는 저장 대상에서 제외합니다.

저장 전에 물어볼 세 가지

slot design
값인가? 위치, 체력, 레벨 이름처럼 기본 타입이면 SaveGame 변수에 직접 넣습니다.
액터인가? Actor 참조 대신 고유 ID, Class, Transform, Tag를 저장하고 로드 때 찾아 복원합니다.
다시 계산되나? 이펙트, 임시 타이머, 짧은 계산값은 BeginPlay나 로직으로 재생성하는 편이 안정적입니다.
바뀔 구조인가? 업데이트 가능성이 있는 저장 구조는 SaveGameVersion을 두고 변환 경로를 마련합니다.
직접 저장

플레이어와 진행 상태

PlayerLocation, PlayerHealth, CurrentLevelName, QuestProgress처럼 로드 직후 바로 써야 하는 값입니다.

ID로 복원

월드에 남거나 사라지는 액터

DestroyedEnemies, CollectedItems는 액터 참조가 아니라 ID 배열로 저장해야 레벨 재진입 후 매칭됩니다.

저장 제외

순간 상태와 표시 효과

피격 플래시, 일회성 사운드, 짧은 보간값은 파일 크기와 오류 가능성만 늘리므로 다시 재생성합니다.