Version: 2019.3
Unity의 패키지 관리자
전역 캐시

개념

이 섹션에서는 Unity 패키지 관리자 기능에 대한 다양한 개념들을 설명합니다.

버전

각 패키지마다 여러 버전을 이용할 수 있으며, 라이프사이클을 따라 해당 패키지의 변경 사항을 표시합니다. 개발자는 패키지를 업데이트할 때마다 새로운 버전 번호를 부여합니다. 변경된 패키지 버전을 확인하면 시맨틱 버전 지정 규칙에 따라 업데이트 내용이 대규모 변경(메이저)인지, 이전 버전과의 호환성 지원(마이너)인지, 아니면 단순한 버그 수정(패치)인지 파악할 수 있습니다.

특정 패키지에 이용 가능한 버전 리스트를 보려면 특정 버전 찾기를 참조하십시오.

매니페스트

매니페스트 파일에는 다음의 두 가지 타입이 있습니다.

  • 프로젝트 매니페스트 (manifest.json) 여기에는 패키지 관리자가 올바른 패키지를 찾고 로드하기 위한 정보(예: 종속성으로 선언된 버전 및 패키지 리스트)가 저장됩니다.
  • 패키지 매니페스트 (package.json). 여기에는 특정 패키지에 관한 정보, 그리고 해당 패키지에 필요한 버전 및 패키지 리스트가 저장됩니다.

두 파일 모두 JSON(JavaScript Object Notation) 구문을 사용합니다.

레지스트리

Unity는 배포 가능한 공식 패키지의 중앙 레지스트리를 유지합니다. 패키지 레지스트리에는 패키지 콘텐츠와 각 패키지 버전 정보(메타데이터)가 들어 있습니다. 기본적으로 모든 프로젝트는 공식 Unity 패키지 레지스트리를 사용하지만, 레지스트리를 추가하여 프라이빗 패키지 또는 개발 중인 스테이지 패키지를 저장하거나 배포할 수 있습니다.

패키지 관리

Unity 패키지 관리자는 전체 패키지 시스템을 관리하는 툴입니다. 주로 수행하는 작업은 다음과 같습니다.

  • Unity 레지스트리 및 추가 지정 레지스트리와 소통합니다.
  • 프로젝트 매니페스트를 읽은 후 패키지 콘텐츠 및 메타데이터를 가져옵니다.
  • 프로젝트의 종속성으로 지정된 패키지 또는 설치된 패키지 중 하나인지 여부에 관계없이 패키지를 설치, 업그레이드 및 제거합니다.
  • Unity 빌트인 패키지를 활성화하거나 비활성화합니다.
  • 모든 패키지의 각 버전에 대한 정보를 표시합니다.
  • 프로젝트와 해당 패키지에 두 개 이상의 패키지 버전이 필요한 경우 충돌을 해결합니다.

Unity 패키지 관리자는 특정 컴퓨터나 기기의 모든 프로젝트가 아니라 프로젝트별로 샘플, 툴, 에셋을 설치합니다. 또한 전역 캐시를 사용하여 다운로드한 패키지 메타데이터 및 콘텐츠를 저장합니다. 설치가 끝나면 Unity는 프로젝트의 다른 에셋처럼 패키지 에셋을 처리합니다. 이러한 에셋은 패키지 폴더 내에 저장되고 변경이 불가능 합니다. 로컬내장 패키지 소스의 콘텐츠는 영구적으로만 변경할 수 있습니다.

패키지 상태

상태는 패키지가 어떤 개발 사이클에 있는지 표시합니다.

상태 설명
In Development 패키지 개발자가 계속 패키지를 만들 수 있습니다. 일반적으로 개발자의 프로젝트에 패키지를 포함시키는 단계에 해당합니다.
Preview 패키지가 사용할 준비가 되었고 패키지 레지스트리에 표시될 수 있지만, 프로덕션에 사용할 준비는 되지 않았습니다. 이 단계는 베타 사이클과 유사합니다.
Production-ready 패키지를 프로덕션에 안전하게 사용할 수 있으며, 개발자가 패키지를 패키지 레지스트리에 퍼블리시했습니다.
Verified 패키지가 테스트를 마치고 특정 Unity 버전과 해당 버전의 다른 모든 패키지에 안전하게 사용할 수 있음이 검증되었습니다.

Package Manager 창에는 이러한 일부 상태에 해당하는 태그가 표시됩니다. 자세한 내용은 태그를 참조하십시오.

패키지 소스

소스는 패키지의 출처를 설명합니다.

소스 설명
레지스트리 Unity 패키지 관리자는 요청 시 대부분의 패키지를 패키지 레지스트리에서 컴퓨터의 전역 캐시로 다운로드합니다. 이러한 패키지는 변경이 불가능하므로 프로젝트에 사용할 수 있지만, 패키지를 수정하거나 패키지 매니페스트를 변경할 수는 없습니다.
Built-in 이 패키지를 이용하면 터레인 물리, 애니메이션 등과 같은 Unity 기능을 활성화하거나 비활성화할 수 있습니다. 이 패키지는 변경이 불가능합니다.
Embedded 프로젝트 폴더에 저장된 패키지는 모두 내장 패키지입니다. 이 소스는 개발 중 단계에 해당합니다. 이는 일반적으로 패키지 개발을 시작할 때 새로운 패키지에 필요한 모든 스크립트, 라이브러리, 샘플 및 기타 에셋을 프로젝트 폴더의 하위 폴더에 저장하기 때문입니다.
Local 컴퓨터의 모든 폴더에서 패키지를 설치할 수 있습니다(예: 개발 저장소를 로컬로 클로닝한 경우).
Local tarball 컴퓨터의 타르볼 파일에서 패키지를 설치할 수 있습니다. 패키지 관리자는 타르볼에서 패키지를 추출하여 캐시에 저장합니다. 하지만 이 패키지는 Local 폴더에서 설치하는 것과 달리 변경이 불가능합니다.
Git 패키지 관리자는 레지스트리 서버가 아니라 Git 저장소에서 직접 Git 패키지를 설치합니다.

패키지에 대한 패키지 매니페스트를 편집하려면 패키지 검사를 참조하십시오.

Package Manager 창에는 이러한 일부 소스에 해당하는 태그가 표시됩니다. 자세한 내용은 태그를 참조하십시오.

Unity의 패키지 관리자
전역 캐시