Unreal C++ · Serialization

UObject Serialization 저장·복원 경로

UPROPERTY, SaveGame 객체, 참조 처리, 역직렬화 복원 단계가 저장 데이터의 안정성을 어떻게 만드는지 정리한다.

01

저장 대상 표시

보존할 값은 UPROPERTY와 SaveGame 규칙에 맞게 관리한다.

mark
02

데이터 패킹

USaveGame 객체나 Archive에 primitive, struct, soft reference를 기록한다.

serialize
03

버전 확인

로드 시 저장 버전과 현재 구조를 비교해 누락 필드를 기본값으로 채운다.

version
04

참조 복원

Actor 직접 포인터보다 ID, SoftObjectPath, GameplayTag로 다시 찾는 구조가 안전하다.

resolve
Primitive
직접 저장 가능 int, float, bool, FString은 비교적 단순하게 보존된다.
value
UObject Ref
참조 복원 전략 필요 런타임 객체 포인터는 세션이 바뀌면 그대로 유효하지 않을 수 있다.
reference
Version
스키마 변경 대응 필드 추가와 이름 변경이 있어도 이전 세이브를 읽을 수 있게 한다.
migration

직렬화 복원 확인

테스트 이전 버전 세이브 파일을 현재 코드에서 로드해 본다.
Null 처리 참조 복원 실패 시 기본 동작과 오류 로그를 둔다.
원자성 저장 중 실패해도 기존 세이브가 깨지지 않도록 임시 파일 전략을 검토한다.