오늘은 유니티 개발자를 위한 깃허브에서 발견한 매우 유용한 스크립트인 Unity Unique ID (UUID)에 대해 살펴보겠습니다. 이 스크립트는 Markus Göbel, a.k.a Bunny83가 개발하였으며 MIT License 하에서 사용할 수 있습니다.
Unity Unique ID가 하는 일
이 스크립트는 유니티 프로젝트 내 객체에 고유 식별자(GUID)를 생성하고 관리하는 도구입니다. 객체에 할당된 ID는 개발 및 런타임에서 유지되며, 이 객체가 복사, 복제, 또는 인스턴스화되더라도 고유한 상태를 유지합니다. 또한, 스크립트는 프리팹으로 복원하거나 적용할 때 같은 ID로 돌아가는 실수를 방지합니다.
어떻게 작동하나요?
Unity Unique ID 스크립트는 두 개의 정적 딕셔너리를 사용하여 작동합니다. 이 딕셔너리는 할당된 ID와 해당 컴포넌트를 추적합니다. 이 시스템은 현재 로드된 모든 객체 또는 프리팹이 다시 등록되므로 어셈블리 다시 로드 후에도 고유성과 지속성을 유지합니다.
Bunny83는 ID의 지속성을 확인하기 위해 스크립트를 광범위하게 테스트하였으며 모든 경우에 대해 성공적인 결과를 보고하였습니다. 그러나 재현 가능한 버그가 있으면 GitHub 저장소에 이슈를 제출하도록 초대합니다.
스크립트 내부 살펴보기
이 스크립트는 C#으로 작성되었으며 비교적 간단합니다. System.Guid.NewGuid().ToString() 함수를 사용하여 새로운 고유 ID를 생성하고 m_ObjToUUID 및 m_UUIDtoObj 두 개의 딕셔너리를 사용하여 고유 ID와 해당 객체를 매핑합니다.
이 스크립트는 ISerializationCallbackReceiver 인터페이스를 구현하여 객체 직렬화 및 역직렬화를 사용자 정의로 처리할 수 있습니다. 이 기능은 고유 ID의 지속성을 유지하는 데 중요합니다.
UUID 클래스는 고유 ID를 등록(RegisterUUID)하고 등록 취소(UnregisterUUID)하기 위한 메서드를 제공합니다. 이러한 메서드는 딕셔너리를 관리하여 ID가 고유하게 유지되며 필요할 때 올바르게 업데이트 또는 제거됩니다.
Unity 개발자에게 귀중한 도구
요약하면, Unity Unique ID 스크립트는 유니티 프로젝트 내 객체 ID를 관리하기 위한 강력하고 효율적인 도구입니다. 객체 식별자의 고유성과 지속성을 유지함으로써 잠재적인 오류를 제거하고 복잡한 프로젝트를 관리하는 프로세스를 간소화합니다.
이 스크립트는 MIT License 하에서 오픈소스로 제공되며 개발자는 조건을 준수하면 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있습니다.
따라서 객체 ID를 관리하기 위한 솔루션을 찾고 있는 Unity 개발자라면 Unity Unique ID 스크립트를 사용해보시기를 권장합니다. 이것은 당신의 유니티 도구 상자에서 중요한 도구 중 하나가 될 수도 있습니다!
이 스크립트는 Unity Unique ID GitHub 저장소에서 찾을 수 있습니다.
언제나 출처를 명시해주세요. 이 도구가 유용하다면 저장소에 스타를 주시고 Markus Göbel (Bunny83)에 대한 유니티 커뮤니티에 대한 훌륭한 기여를 인정해주세요.
참고: 사용하는 모든 오픈 소스 소프트웨어의 라이선스 계약서를 읽어서 조건을 준수해야 합니다.
'Unity > Tip' 카테고리의 다른 글
~~~ is missing the class attribute 'ExtensionOfNativeClass'! (0) | 2023.08.21 |
---|---|
오브젝트 자연스럽게 이동하기 : Mathf.PingPong (0) | 2023.08.04 |
Unity : Custom Dictionary Script (0) | 2023.07.14 |
Unity로 안드로이드 앱 개발 시 권한 설정 방법 (0) | 2023.07.07 |
Unity에서 스마트폰 화면 항상 켜지도록 설정하기 (0) | 2023.07.07 |