이 섹션에서는 Unity 패키지 관리자 기능에 대한 다양한 개념들을 설명합니다.
각 패키지마다 여러 버전을 이용할 수 있으며, 라이프사이클을 따라 해당 패키지의 변경 사항을 표시합니다. 개발자는 패키지를 업데이트할 때마다 새로운 버전 번호를 부여합니다. 변경된 패키지 버전을 확인하면 시맨틱 버전 지정 규칙에 따라 업데이트 내용이 대규모 변경(메이저)인지, 이전 버전과의 호환성 지원(마이너)인지, 아니면 단순한 버그 수정(패치)인지 파악할 수 있습니다.
특정 패키지에 이용 가능한 버전 리스트를 보려면 특정 버전 찾기를 참조하십시오.
매니페스트 파일에는 다음의 두 가지 타입이 있습니다.
manifest.json
) 여기에는 패키지 관리자가 올바른 패키지를 찾고 로드하기 위한 정보(예: 종속성으로 선언된 버전 및 패키지 리스트)가 저장됩니다.package.json
). 여기에는 특정 패키지에 관한 정보, 그리고 해당 패키지에 필요한 버전 및 패키지 리스트가 저장됩니다.두 파일 모두 JSON(JavaScript Object Notation) 구문을 사용합니다.
Unity는 배포 가능한 공식 패키지의 중앙 레지스트리를 유지합니다. 패키지 레지스트리에는 패키지 콘텐츠와 각 패키지 버전 정보(메타데이터)가 들어 있습니다. 기본적으로 모든 프로젝트는 공식 Unity 패키지 레지스트리를 사용하지만, 레지스트리를 추가하여 프라이빗 패키지 또는 개발 중인 스테이지 패키지를 저장하거나 배포할 수 있습니다.
Unity 패키지 관리자는 전체 패키지 시스템을 관리하는 툴입니다. 주로 수행하는 작업은 다음과 같습니다.
Unity 패키지 관리자는 특정 컴퓨터나 기기의 모든 프로젝트가 아니라 프로젝트별로 샘플, 툴, 에셋을 설치합니다. 또한 전역 캐시를 사용하여 다운로드한 패키지 메타데이터 및 콘텐츠를 저장합니다. 설치가 끝나면 Unity는 프로젝트의 다른 에셋처럼 패키지 에셋을 처리합니다. 단, 패키지 폴더 내에 저장되어 있고 변경 불가 에셋은 예외입니다. 로컬 및 내장 패키지 소스의 콘텐츠만 변경할 수 있습니다.
Unity 사용자가 패키지를 테스트하고 피드백을 제공할 준비가 되는 시점까지 패키지를 개발한 후에 패키지는 프리뷰 상태로 들어갑니다. 이 상태에서 패키지는 보통 Unity 에디터에 미리보기 레이블과 함께 표시되며 대개 해당 버전의 일부로 preview
를 사용합니다.
Unity 릴리스 관리 팀은 적절한 문서, 변경 로그, 라이선스 파일에 대한 검사를 포함한 여러 테스트 단계 및 검증 절차를 통과한 패키지에만 검증 상태를 부여합니다. 이 상태의 패키지는 Unity 에디터에서 2019.3 검증 레이블로 표시되고 해당 버전의 일부로 프리뷰
를 사용하지 않습니다.
패키지 개발자가 패키지에 변경 사항 또는 중대한 변경 사항을 적용(API를 손상시키거나 API 사용에 영향을 미치는 변경 사항을 적용하는 등)하는 경우 해당 패키지는 프리뷰 상태로 돌아가고 패키지 관리자는 새로운 프리뷰 패키지를 검증된 버전에 대한 가능한 업데이트로 제안하지 않습니다.
이러한 상태는 패키지가 어떤 개발 사이클에 있는지 표시합니다.
상태 | 설명 |
---|---|
In Development | 패키지 개발자가 패키지를 만듭니다. 일반적으로 개발자의 프로젝트에 패키지를 포함시키는 단계에 해당합니다. |
Preview | 패키지를 테스트할 준비가 되면 Unity 패키지 개발자는 기본 테스트 커버리지가 있는지 확인하고 패키지가 패키지 확인 제품군을 사용하여 테스트를 통과하는지 확인해야 합니다. 또한 패키지에는 Unity 패키지 개발자가 Unity 공식 레지스트리에 패키지 퍼블리시를 신청하기 전에 최소한 예비 문서, 업데이트된 변경 로드 및 라이선스 부여가 필요합니다. 이 시점에서 패키지를 테스트할 수 있으므로 자격을 갖춘 모든 Unity 사용자는 개발자에게 피드백을 제공할 수 있습니다. 대부분의 패키지는 모든 Unity 사용자가 사용할 수 있지만 일부 패키지의 경우 특정 자격이 있는 Unity ID로 제한됩니다. 프리뷰 패키지의 경우 특정 Unity 버전에 대해 검증되도록 준비가 되기 전에 변경이 많이 될 수 있습니다. 향후 어느 시점에 확인 요구 사항을 통과할 수 있지만 대신 사용되지 않을 수도 있습니다. 향후 지원에 대한 보장이 없으므로 프로덕션 환경에서 프리뷰 패키지를 사용해선 안 됩니다. 이 버전에서 사용할 수 있는 프리뷰 패키지의 리스트는 프리뷰 패키지를 참조하십시오. |
Verified | 이 패키지는 엄격한 테스트를 거쳤으며, 이 Unity 버전 그리고 동일한 버전에 대해 검증된 다른 모든 패키지에서 안전하게 작동하는 것으로 확인되었습니다. 이 상태는 Unity가 내부적으로 개발하는 패키지에만 해당됩니다. 타사 프로세스에 대한 내용은 해당 패키지 개발자에게 문의하십시오. 패키지가 Unity 버전에 대해 검증되면 Unity는 Unity의 해당 버전 기간 동안, 장기 지원 기간에 걸쳐 그러한 검증된 패키지에 대한 지원을 보장하며, 메이저 또는 마이너 업데이트(즉 API를 변경하는 작업)를 허용하지 않습니다. 새로운 Unity 버전이 나올 때마다 각 검증된 패키지는 검증 프로세스를 다시 통과해야만 패키지 관리자가 검증된 것으로 간주합니다. 이 Unity 버전에 대해 검증된 패키지 리스트는 검증된 패키지를 참조하십시오. 참고: 일부 패키지는 검증된 또는 프리뷰 패키지가 아닙니다. 이는 대개의 경우 패키지가 이전 버전의 Unity에서 검증되었지만, 현재 버전에 대한 검증 프로세스가 아직 완료되지 않았기 때문입니다. 일부 패키지의 경우 사용해도 안전한 것으로 간주되어 Unity 패키지 관리자 레지스트리에 퍼블리시되었지만, 실제로는 검증되지 않았습니다. 이 두 가지 경우 모두 이러한 패키지를 프로덕션에 안심하고 사용할 수 있습니다. |
패키지 관리자 창에는 이러한 상태 중 일부에 해당하는 태그가 표시됩니다.
소스는 패키지의 출처를 설명합니다.
소스 | 설명 |
---|---|
레지스트리 | Unity 패키지 관리자는 요청 시 대부분의 패키지를 패키지 레지스트리에서 컴퓨터의 전역 캐시로 다운로드합니다. 이러한 패키지는 변경이 불가능하므로 프로젝트에 사용할 수 있지만, 패키지를 수정하거나 패키지 매니페스트를 변경할 수는 없습니다. |
Built-in | 이 패키지를 이용하면 터레인 물리, 애니메이션 등과 같은 Unity 기능을 활성화하거나 비활성화할 수 있습니다. 이 패키지는 변경이 불가능합니다. 자세한 내용은 빌트인 패키지를 참조하십시오. |
Embedded | 프로젝트 폴더에 저장된 패키지는 모두 내장 패키지입니다. 이 소스는 in development 단계에 해당합니다. 이는 일반적으로 패키지 개발을 시작할 때 새로운 패키지에 필요한 모든 스크립트, 라이브러리, 샘플 및 기타 에셋을 프로젝트 폴더의 하위 폴더에 저장하기 때문입니다. |
Local | 컴퓨터의 모든 폴더에서 패키지를 설치할 수 있습니다(예: 개발 저장소를 로컬로 클로닝한 경우). |
Local tarball | 컴퓨터의 타르볼 파일에서 패키지를 설치할 수 있습니다. 패키지 관리자는 타르볼에서 패키지를 추출하여 캐시에 저장합니다. 하지만 이 패키지는 Local 폴더에서 설치하는 것과 달리 변경이 불가능합니다. |
Git | 패키지 관리자는 레지스트리 서버가 아니라 Git 저장소에서 직접 Git 패키지를 설치합니다. |
패키지에 대한 패키지 매니페스트를 편집하려면 패키지 검사를 참조하십시오.
Package Manager 창에는 이러한 일부 소스에 해당하는 태그가 표시됩니다. 자세한 내용은 태그를 참조하십시오.