Unity 패키지 관리자와 범위 지정 레지스트리

소개

Unity의 패키지 관리자는 프로젝트에서 사용할 수 있는 패키지를 관리하는 강력한 도구입니다. 이 문서에서는 범위 지정 레지스트리의 개념과 설정 방법, 그리고 이를 활용하는 방법에 대해 설명합니다.

범위 지정 레지스트리란?

범위 지정 레지스트리는 Unity가 커스텀 패키지 레지스트리 서버의 위치를 패키지 관리자에 전달할 수 있게 해주는 기능입니다. 이를 통해 사용자는 여러 패키지 컬렉션에 동시에 액세스할 수 있습니다.

개념 설명
패키지 레지스트리 서버 패키지를 추적하고 저장하는 애플리케이션입니다. Unity의 Package Manager에서 사용 가능합니다.
패키지 관리자 사용자에게 사용할 수 있는 패키지를 제공하고, 요청한 패키지를 다운로드하여 설치하는 애플리케이션입니다.
범위 패키지 이름이나 네임스페이스 (예: com.example.mycompany.animation)를 정의합니다.
패키지 공급자 커스텀 레지스트리 서버를 설정하고 패키지를 호스팅합니다.
패키지 소비자 각 프로젝트에 대해 범위 지정 레지스트리를 설정하여 커스텀 패키지에 액세스합니다.

범위 지정 레지스트리 설정

프로젝트의 범위 지정 패키지 레지스트리를 관리하려면 프로젝트 매니페스트 파일을 직접 편집할 수 있습니다. 매니페스트는 scopedRegistries 프로퍼티를 사용하여 설정됩니다. 각 객체는 다음 프로퍼티를 가집니다.

프로퍼티 JSON 타입 설명
name String 사용자 인터페이스에 표시되는 범위 이름입니다.
url String npm 호환 레지스트리 서버의 URL입니다.
scopes 문자열 배열 패키지 이름과 정확히 일치하는 범위의 배열입니다. 와일드카드는 지원되지 않습니다.

예제

아래는 범위 지정 레지스트리의 예시입니다:

{
    "scopedRegistries": [
        {
            "name": "General",
            "url": "https://example.com/registry",
            "scopes": [
                "com.example", "com.example.tools.physics"
            ]
        },
        {
            "name": "Tools",
            "url": "https://mycompany.example.com/tools-registry",
            "scopes": [
                "com.example.mycompany.tools"
            ]
        }
    ],
    "dependencies": {
        "com.unity.animation": "1.0.0",
        "com.example.mycompany.tools.animation": "1.0.0",
        "com.example.tools.physics": "1.0.0",
        "com.example.animation": "1.0.0"
    }
}

범위 지정 레지스트리의 이점

  • 새로운 기능 제공: 도구, 라이브러리 및 기타 에셋을 배포하여 기능을 확장할 수 있습니다.
  • API 종속성 지원: 패키지 간의 종속성을 관리할 수 있습니다.
  • 폐쇄된 네트워크 환경 지원: 조직의 서버에서 패키지를 관리하고 Unity 패키지 레지스트리와 동기화할 수 있습니다.

결론

범위 지정 레지스트리는 Unity에서 패키지를 효율적으로 관리하고 배포하는 데 매우 유용한 기능입니다. 이를 통해 개발자는 필요한 패키지를 쉽게 설치하고 사용할 수 있습니다. 프로젝트에 적절한 범위 지정 레지스트리를 설정하여 개발 작업의 효율성을 높이세요.