Unreal C++ · serialization

저장 데이터 복원 설계

직렬화는 메모리 값을 파일이나 네트워크에 맞게 바꾸는 과정이지만, 장기적으로 안전하려면 스키마, 버전, 참조 복원, 검증 규칙이 함께 있어야 합니다.

Schema

UPROPERTY 대상

저장할 값 타입과 컨테이너를 명시하고 누락 필드를 줄입니다.

Identity

참조는 ID로

Actor 포인터 대신 이름, 경로, 행 키를 저장합니다.

Version

구조 변경 분기

필드 추가와 타입 변경은 로드 시 변환 경로를 둡니다.

Resolve

현재 월드 연결

저장된 ID를 레벨, 데이터 테이블, 에셋으로 다시 매칭합니다.

Validate

로드 후 검증

누락, 범위 초과, 오래된 ID를 정상 분기로 처리합니다.

직렬화 전에 확인

write

필요한 데이터만 남김

매 프레임 캐시나 임시 효과보다 플레이어 진행에 필요한 값을 우선합니다.

민감 정보 제외

로컬 SaveGame이나 JSON 파일에 비밀 값과 치트 토큰을 그대로 두지 않습니다.

역직렬화 후 적용

read

참조 복원 순서 고정

레벨과 데이터 정의가 준비된 뒤 플레이어 상태와 UI 값을 적용합니다.

실패를 정상 분기로 처리

슬롯 없음, JSON 파싱 실패, 오래된 버전은 로그와 기본값으로 회복합니다.