Skip to content

Package Manager

Sanguk Lee edited this page Aug 22, 2023 · 2 revisions

소개

Unity의 Package Manager는 Unity 프로젝트에서 사용할 수 있는 코드, 리소스, 설정 등의 모듈화된 컴포넌트들을 관리하고 제공하는 시스템이다. .unitypackage 형식의 파일로 모듈화된 컴포넌트들을 '패키지'라고 부릅니다. Package Manager를 사용하면 여러 가지 기능과 확장성을 Unity 프로젝트에 쉽게 추가할 수 있다. 또한, 패키지를 통해 Unity 프로젝트 간에 코드와 리소스를 쉽게 공유할 수 있게 해준다. 특히 재사용해야하는 구성 요소나 라이브러리를 만들 때 매우 유용하다.

특징

  • 내장 패키지: Unity에서 기본적으로 제공하는 기능(예: URP, HDRP, 2D 도구 등)을 패키지 형태로 제공하여 필요에 따라 추가하거나 제거할 수 있다.
  • 커뮤니티 및 제3자 패키지: Unity Asset Store뿐만 아니라 다른 곳에서도 제공되는 패키지를 쉽게 찾고 설치할 수 있다.
  • 버전 관리: 설치된 패키지의 버전을 확인하고 업데이트할 수 있습니다. 이를 통해 안정성과 호환성을 유지할 수 있다.
  • 종속성 관리: 어떤 패키지가 다른 패키지에 의존하는 경우, 해당 의존성을 자동으로 처리(같이 설치)해 준다.

사용 방법

Unity 에디터의 상단 메뉴에서 'Window' > 'Package Manager'를 선택하여 Package Manager 창을 연다. 창의 왼쪽 상단에서 'Packages' 드롭다운을 통해 다양한 소스(예: 'In Project', 'Unity Registry', 'My Assets' 등)에서 패키지를 검색할 수 있다. 원하는 패키지를 선택한 후 'Install', 'Update' 또는 'Remove' 버튼을 사용하여 패키지를 관리할 수 있다.

혹은 + 버튼을 눌러 package.json.tar.gz, .tgz 파일을 찾아 패키지를 직접 추가하거나, 패키지 이름을 직접 입력하거나, git 저장소에서 바로 pull 받아올 수 있다.

유니티 패키지 만들기

  • 프로젝트의 구조 정리: 패키지에 포함될 모든 Property나 Assets을 특정 폴더에 구성한다. 이 폴더는 나중에 패키지로 내보내기 위한 핵심 폴더가 된다.
  • 패키지 메타데이터 생성: 패키지를 정의하는 package.json 파일을 생성한다. 이 파일은 아래와 같이 패키지의 이름, 버전, 의존성 및 기타 메타데이터 정보를 포함해야한다.
{
  "name": "com.your.packagename",
  "version": "1.0.0",
  "displayName": "표시할 패키지 이름",
  "description": "패키지 설명",
  "unity": "2022.3",
  "dependencies": {
     "com.unity.some-dependency": "1.2.3"
     }
}

기타 설정 파일 추가

  • .gitignore: 패키지와 관련되지 않은 파일이나 폴더를 제외하기 위한 파일
  • CHANGELOG.md: 패키지의 변경 내역
  • LICENSE.md: 패키지의 라이선스 정보
  • README.md: 패키지의 사용 방법 및 기타 정보

패키지 내보내기

Unity 에디터에서 Assets > Export Package...를 선택, 패키지에 포함될 항목들을 선택하고 Export 버튼을 클릭한다.

패키지 사용:

패키지를 다른 프로젝트에 사용하려면 Assets > Import Package > Custom Package...를 선택하여 패키지를 가져오거나, 또는, Package Manager에서 패키지를 로컬 경로나 Git URL을 통해 직접 추가가 가능하다.