인스턴스화 또는 복사되는 프리팹과 월드 내 엔티티 오브젝트는 Verse 컴포넌트를 통해 Verse 함수 기능을 사용하고 공유합니다.
Verse 컴포넌트를 사용하거나 Verse 컴포넌트에 의존하는 오브젝트에 기능을 더 추가하는 경우 엔티티 오브젝트의 기본 함수 기능을 수정해야 할 수도 있습니다. 데이터를 복구하면 이전 데이터 세트로 예비 전환하여 새로운 수정사항을 되돌릴 수 있습니다.
데이터 복구 시스템은 다음에 대한 데이터를 전송합니다.
필드
클래스
구조체
시리얼라이제이션 문제
데이터 복구 없이, 설정된 Verse 컴포넌트에 변경사항을 적용하면 다음 중 한 가지 상황에서 시리얼라이제이션 오류가 발생하게 됩니다.
프로퍼티 이름 변경
프로퍼티 삭제
프로퍼티 타입 변경
이 문서에 제시된 예시 사례에서는 float, string, int 값을 표현하는 데 편집 가능 구조체를 사용합니다. 편집 가능 구조체 프로퍼티의 이름을 변경하면 float, string, int에서 설정된 데이터도 사용하는 느슨한 프로퍼티가 생성됩니다.
데이터 복구는 느슨한 프로퍼티를 찾는 데 사용되며 문제가 되는 오브젝트에 주의 아이콘을 배치합니다.
편집 가능 오브젝트의 각 버전은 float, string, int의 데이터 값을 유지합니다. 이를 통해 유지할 데이터를 선택할 수 있습니다.
식별된 문제
시리얼라이제이션 문제가 있는 엔티티와 컴포넌트는 아웃라이너에서 주의 아이콘으로 식별됩니다. 아이콘 위에 마우스 커서를 올리면 이 오브젝트에 발생한 시리얼라이제이션 문제의 유형을 알려 주는 시리얼라이제이션 메시지가 열립니다.
이 이미지의 경고 메시지는 현재 시스템에서 플래그가 지정된 문제를 나타내지 않습니다.
아웃라이너에서 엔티티 오브젝트를 선택하면 디테일 패널에 엔티티 컴포넌트가 열립니다.
또한 엔티티 및 컴포넌트의 디테일 패널에 경고가 표시됩니다. 시리얼라이제이션 문제가 있는 컴포넌트에는 컴포넌트 카드 상단에 노란색 주의 아이콘이 표시됩니다.
어떤 컴포넌트가 시스템 경고로 플래그가 지정되었는지 확인하려면 디테일 패널에서 컴포넌트를 사용하는 프리팹을 열어야 합니다.
데이터 복구
실수를 했거나, 적용된 변경사항을 되돌려 변경이 불필요해진 경우 데이터 복구가 가능합니다. 이전에 제거된 프로퍼티를 안전하게 다시 추가하여 이전 프로퍼티와 관련이 있는 손실된 데이터를 복구할 수 있습니다.
그러나 클래스를 삭제하거나 클래스 이름을 변경하는 경우 코드를 되돌려 데이터를 복구해야 합니다. 클래스를 되돌리면 코드가 리로드되고 플래그가 지정된 모든 문제가 지워집니다.
클래스의 이름을 변경하거나 클래스를 삭제하면 파괴적인 동작이 발생합니다.
아래 단계를 따라 덮어쓰지 않으려는 데이터를 복구합니다.
클래스의 이름을 변경했거나 클래스를 삭제한 경우 또는 컴파일 오류가 있는 경우에는 변경사항을 저장하지 마세요.
이때 코드를 저장하면 영구적인 데이터 손실이 발생합니다.
손실된 프로퍼티를 다시 원본 클래스에 추가합니다.
적용한 변경사항을 유지하기로 한 경우에는 이 단계를 무시하고 3단계로 넘어가면 됩니다.
UEFN을 리로드하거나 코드를 리컴파일합니다.
데이터를 면밀하게 살펴봅니다. 손실되었던 프로퍼티 값이 있는 게 확실하면 안전하게 저장하면 됩니다.
2단계를 건너뛰기로 결정한 경우에는 경고가 당분간 지속됩니다. 지속적인 오류 메시지가 신경이 쓰일 경우 데이터 복구 시스템을 비활성화하면 됩니다.
원래의 프로퍼티 이름 및 데이터로 돌아가면 더 이상 오류 메시지가 표시되지 않으며 레벨 작업을 계속할 수 있습니다.