Unreal C++ · serialization

직렬화 데이터 복원성

바이트로 쓰는 일보다 중요한 것은 오래된 파일, 사라진 참조, 바뀐 필드를 읽었을 때도 게임이 회복할 수 있는 규칙입니다.

Schema

필드 목록

UPROPERTY와 UStruct 필드가 저장 대상의 모양을 정합니다.

ID

참조 식별자

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

Version

구조 변경

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

Resolve

월드 연결

저장된 ID를 현재 레벨, 에셋, 데이터 테이블에 다시 맞춥니다.

점검

로드 검증

범위 초과와 누락 값을 기본값 또는 안전한 분기로 회복합니다.

쓸 때

serialize

필요한 값만 저장

다시 계산할 수 있는 임시 상태는 파일 크기와 오류 가능성을 늘립니다.

민감 정보 제외

로컬 파일은 변조될 수 있으므로 비밀 토큰과 치트 값은 넣지 않습니다.

읽을 때

deserialize

실패를 정상 경로로

파싱 실패와 버전 불일치는 로그, 기본값, 새 슬롯 생성으로 처리합니다.

적용 전 검증

로드된 값은 현재 월드에 적용하기 전에 범위와 참조를 먼저 확인합니다.

직렬화 검수

저장 파일의 구조가 바뀌어도 로드 함수가 버전과 기본값으로 회복하고, 사라진 참조가 게임 중단으로 이어지지 않으면 복원 계약이 견고합니다.