피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Sidecar UID 도입을 통한 Godot 리소스 참조 무결성 확보
Godot 4.4 Added .uid Files Everywhere. Here's What They Actually Do.
AI 요약
Context
리소스 참조를 파일 경로 기반으로 처리하던 기존 구조로 인해 외부 툴을 통한 파일 이동 시 참조 경로가 파괴되는 문제 발생. 특히 메타데이터 저장 공간이 없는 GDScript 및 Shader 파일의 경우 경로 변경 시 씬 트리 연결이 단절되는 한계 존재.
Technical Solution
- 경로 기반 참조 방식에서 UID(Unique Identifier) 기반의 간접 참조 구조로 전환
- 텍스트 기반 소스 파일(.gd, .cs, .gdshader)의 메타데이터 저장을 위한 Sidecar 파일(.uid) 아키텍처 도입
- 각 소스 파일과 1:1 매칭되는 UID 파일을 통해 파일 위치 변경과 무관한 리소스 식별자 유지
- 씬 파일 내부에 경로 대신 UID를 저장하여 파일 시스템 변경 시에도 참조 무결성을 보장하는 매핑 로직 구현
- 외부 툴(git mv 등)을 통한 리팩토링 시 UID 파일을 동시 이동함으로써 엔진 재시작 후 자동 경로 업데이트 수행
실천 포인트
- .uid 파일을 빌드 아티팩트가 아닌 프로젝트 상태 파일로 정의하여 Version Control에 반드시 포함 - 외부 툴을 이용한 리팩토링 시 소스 파일과 .uid Sidecar 파일을 항상 쌍으로 이동 -
4.3 버전에서
4.4 버전으로 마이그레이션 후 모든 씬을 재저장하여 UID 참조 최신화 수행 - AI 코딩 툴 활용 시 .uid 파일 누락 여부를 검증하여 씬 트리 파손 방지