UNREAL C++ · DATA MODEL

무엇을 저장하고 무엇을 복원할까?

SaveGame 클래스에는 현재 Actor 자체가 아니라 다음 실행에서 같은 상태를 재구성하는 데 필요한 안정적인 값만 담습니다.

저장하기 좋은 데이터

UPROPERTY
1

값 타입 상태

이름, 점수, 체력, 위치, 회전처럼 직렬화 가능한 값을 저장합니다.

2

진행도와 설정

퀘스트 완료 여부, 열린 스테이지, 옵션 값처럼 게임 규칙에 필요한 상태를 보관합니다.

그대로 저장하면 위험한 데이터

참조 복원
!

Actor와 UObject 포인터

실행마다 메모리 주소와 월드 상태가 달라질 수 있으므로 직접 저장 대상으로 삼지 않습니다.

ID

고유 ID로 다시 찾기

이름, 경로, 데이터 테이블 키 같은 식별자를 저장한 뒤 로드 시 월드에서 다시 연결합니다.

직렬화 가능? FString, int32, float, FVector, TArray 같은 값인지 확인합니다.
다음 실행에도 의미 있나? 일시 효과나 캐시보다 플레이어 진행에 필요한 상태를 고릅니다.
복원 위치가 명확한가? 로드 후 어느 시스템과 Actor에 적용할지 함께 설계합니다.