인스턴스 오버라이드 값은 정의된 씬이나 프리팹에 데이터로 저장됩니다.하지만 오버라이드는 타겟 오브젝트가 유효하지 않거나 프로퍼티 경로를 알 수 없을 경우 “미사용”하게 됩니다.이러한 경우 데이터가 사용되지 않습니다.데이터는 여전히 씬 파일에 저장되어 있지만 중복됩니다.
예를 들어 프리팹에 연결된 스크립트에서 공용 필드의 값을 오버라이드한 다음 스크립트를 삭제하는 경우, 더 이상 존재하지 않는 오브젝트를 타게팅하기 때문에 오버라이드 값이 포함된 데이터는 사용되지 않게 됩니다.
또한 공용 필드 정의를 삭제하거나 이름을 변경하면 컴포넌트 오브젝트 자체는 여전히 존재하지만 프로퍼티 경로가 더 이상 저장된 데이터와 일치하지 않기 때문에 오버라이드 데이터도 사용되지 않게 됩니다.
Unity는 미사용 오버라이드 데이터를 자동으로 삭제하지 않으므로 삭제된 스크립트 또는 필드 정의를 복원하면 오버라이드 데이터가 다시 사용되고 이전과 같이 오버라이드로 적용됩니다.
미사용 오버라이드 데이터를 유지하고 싶지 않은 경우 인스펙터의 Overrides 메뉴 또는 계층(Hierarchy) 창의 컨텍스트 메뉴에서 해당 데이터를 확인하고 제거할 수 있습니다.제거에는 모든 미사용 오버라이드가 포함되며, Unity는 제거된 항목에 대한 세부 정보를 에디터 로그에 기록합니다.
데이터가 참조하는 오브젝트나 프로퍼티를 일시적으로 또는 실수로 이동했다가 나중에 다시 복원할 수 있기 때문에, Unity 에디터는 미사용 데이터 정리 시기나 여부를 자동으로 결정할 수 없습니다.더 이상 필요하지 않은 미사용 오버라이드 데이터를 제거하면 씬 파일에 유용한 데이터만 포함되어 버전 관리와 협업이 더 간단해지므로 좋은 습관이라고 생각할 수 있습니다.
참고:필드의 이전 이름을 새 이름으로 매핑하기 위해 이름 전환을 수행하는 FormerlySerializedAsAttribute를 사용하여 공개 필드의 이름을 변경하고 연결된 오버라이드 값을 유지할 수 있습니다.
인스펙터를 사용하여 미사용 오버라이드를 확인하고 제거하려면 다음 단계를 따르십시오.
참고:미사용 오버라이드 패널은 다중 선택을 지원하며 미사용 오버라이드의 총 수와 영향을 받는 인스턴스 수를 표시합니다. 하지만 아래 예시와 같이 미사용 오버라이드 중 최대 3개의 필드 이름, 게임 오브젝트 이름, 값만 표시됩니다.
계층 창에서 미사용 인스턴스 오버라이드를 확인하고 제거하려면 다음과 같이 하십시오.
참고:개별 게임 오브젝트 대신 계층 구조에서 씬의 이름을 오른쪽 클릭하여 모든 미사용 오버라이드를 전체 씬에서 제거할 수 있습니다.