Unity가 프로젝트를 로드할 때 Unity 패키지 관리자는 로드할 패키지 리스트를 계산하기 위해 프로젝트 매니페스트를 읽습니다. 사용자가 Package Manager 창을 통해 패키지를 설치하거나 제거하면 패키지 관리자는 그러한 변경 사항을 프로젝트 매니페스트 파일에 저장합니다. 프로젝트 매니페스트 파일은 dependencies 오브젝트를 통해 패키지 리스트를 관리합니다.
또한 프로젝트 매니페스트는 패키지 관리자의 설정 파일 역할을 하며, 하나 이상의 패키지 레지스트리 위치를 저장합니다. Git 패키지의 경우에는 커밋 해시와 리비전 숫자를 정의하는 lock 오브젝트를 제공하여 패키지 관리자가 항상 동일한 종속성을 정확히 설치하도록 보장합니다.
Unity 프로젝트의 루트 폴더 아래에 있는 Packages
폴더에서 manifest.json
이라는 이름의 프로젝트 매니페스트 파일을 찾을 수 있습니다. 패키지 매니페스트 파일과 마찬가지로 프로젝트 매니페스트 파일은 JSON(JavaScript Object Notation) 구문을 사용합니다.
모든 속성은 선택 사항입니다. 하지만 프로젝트 매니페스트 파일에 아무런 값도 없으면 Package Manager 창이 로드되지 않고 패키지 관리자가 아무 패키지도 로드하지 않습니다.
팁: 언제든지 메인 Unity 도움말 메뉴에서 Reset packages to defaults를 선택하여 레지스트리 관련 문제를 해결할 수 있습니다. 하지만 이 작업은 프로젝트의 패키지에 적용한 모든 변경 사항을 재설정하므로 최후 수단으로만 사용해야 합니다.
Key | JSON 타입 | 설명 |
---|---|---|
dependencies | 오브젝트 | 프로젝트에서 이용 가능한 패키지 리스트입니다. 매니페스트의 이 엔트리는 맵 구조를 사용하여 프로젝트에 필요한 버전과 연결된 패키지 이름을 나열합니다. 모든 지원되는 체계의 자세한 개요는 종속성 섹션을 참조하십시오. 참고: 이 리스트에는 간접 종속성(다른 패키지에서 필요로 하는 패키지)이 포함되지 않습니다. |
registry | String | 메인 Unity 패키지 관리자 레지스트리의 URL입니다. 이 URL은 기본 레지스트리 URL(https://packages.unity.com )을 오버라이드합니다. 참고: 자체 레지스트리로 기본 레지스트리를 오버라이드하면 공식 Unity 패키지에 대한 액세스 권한을 잃습니다. 자체 프라이빗 패키지 컬렉션으로 Unity 패키지 라이브러리를 증강하고 싶은 경우에는 scopedRegistries 속성을 설정하여 범위 지정 레지스트리를 사용하십시오. |
scopedRegistries | 오브젝트 배열 | 기본 레지스트리 외에 커스텀 레지스트리를 지정하여 자체 패키지를 호스트할 수 있습니다. 자세한 내용은 범위 지정 레지스트리 섹션을 참조하십시오. |
lock | 오브젝트 | 커밋 해시와 선택된 리비전이 포함된 Git 패키지 해상도 정보를 설명합니다. 패키지 관리자는 이 속성을 자동으로 업데이트하기 때문에 언제든지 동일한 종속성을 정확히 설치할 수 있습니다. 이 속성은 Git 패키지용으로 예약되어 있지만, 향후 다른 기능도 확실한 패키지 버전 해상도를 보장하기 위해 이 속성을 사용하게 될 수도 있습니다. |
testables | 문자열 배열 | Unity 테스트 러너에 포함할 패키지 이름을 나열합니다. 자세한 내용은 패키지에 테스트 추가를 참조하십시오. |
{
"registry": "https://my.registry.com",
"scopedRegistries": [{
"name": "My internal registry",
"url": "https://my.internal.registry.com",
"scopes": [
"com.company"
]
}],
"dependencies": {
"com.unity.package-1": "1.0.0",
"com.unity.package-2": "2.0.0",
"com.unity.package-3": "3.0.0",
"com.unity.my-local-package": "file:/path/to/com.unity.my-local-package",
"com.unity.my-git-package": "https://my.repository/my-package.git#v1.2.3"
},
"lock": {
"com.unity.my-git-package": {
"hash": "9e72f9d5a6a3dadc38d813d8399e1b0e86781a49",
"revision": "v1.2.3"
}
},
"testables": [ "com.unity.package-1", "com.unity.package-2" ]
}
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.