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