턴룸 · TurnRoom

기존 설치가 이전 경로에 남는 Unity 패키지 업그레이드 수정

개발 기록 · 블로그 공개

원본 기록 상태 해결

동일 GUID 임포트가 기존 폴더를 유지하는 현상을 확인하고, GUID 보존 폴더 이동으로 해결했습니다.

작업 결과

기존 DataTable과 Pixora 설치를 각각 업데이트한 후 Assets/TurnRoom 아래로 자동 이동하고 컴파일되는 것을 확인했습니다.


변경 내용

재현 조건

Unity 6000.0.83f1 · 기존 Assets/DesignDataTable 또는 Assets/Pixora 설치 · 동일 .meta GUID의 새 unitypackage

재현 순서

기존 제품 폴더가 있는 별도 Unity 프로젝트에 TurnRoom 제품 패키지를 임포트하고 새 루트와 컴파일 상태를 검사합니다.

기대 동작

기존 에셋 참조를 유지하면서 제품이 Assets/TurnRoom 아래에 설치돼야 합니다.

실제 동작

수정 전 Unity가 기존 GUID의 에셋을 이전 폴더에 유지하여 새 경로를 찾지 못했습니다.

원인

실제 임포트 결과에서 기존 폴더가 유지되고 새 제품 루트가 생성되지 않은 것을 확인했습니다. 동일 GUID만으로 설치 폴더 이동이 보장되지 않았습니다.

적용 내용

공통 PackageLayout은 제품이 등록한 이전·현재 경로를 임포트·컴파일 완료 후 에디터 업데이트에서 AssetDatabase.MoveAsset으로 이동합니다. 공통 코드는 제품명을 참조하지 않습니다. 두 경로가 모두 있으면 덮어쓰지 않고 경고합니다.


검증

수정 전 기존 설치 업그레이드에서 새 제품 루트가 없어 설치 검증이 실패했습니다. 수정 후 DataTable 1,353개와 Pixora 935개 .meta GUID가 모두 유지됐고 누락·변경이 없으며 이전 루트가 제거됐습니다. 이동 후 재컴파일 및 독립 설치 검증이 통과했습니다. DataTable 검증기는 도메인 재로드로 콜백이 초기화돼 새 배치 실행으로 최종 상태를 확인했으며, Pixora 검증기는 재로드 복원 후 통과했습니다.


남은 사항

두 루트가 이미 별개 내용으로 존재하는 상황은 자동 병합하지 않습니다. 실제 화면 검증은 전체 작업과 동일하게 보류했습니다.


출처

중앙 아카이브 원문