UPM (Unity Package Manager) 로 외부 에셋을 관리하자

jinwook4217·2020년 12월 18일

유니티를 사용하다 보면 외부 패키지를 import 해야 하는 경우가 생긴다. 유니티 에셋 스토어에서 에셋을 import 받을 때도 그렇고, 오픈 소스로 공개된 외부 라이브러리를 import 받을 때도 그렇다.

그런데 이렇게 .unityproject 를 import 받게 되면 로컬 프로젝트에 종속되기 때문에 외부 패키지가 업데이트되었을 때 새로 패키지를 import 받아 수동으로 업데이트해 줘야 했다. 또한 외부 패키지가 패키지 단위로 묶여있지 않고, Assets 폴더에 그대로 추가되다 보니 외부 패키지를 삭제해야 할 때 일일이 찾아서 삭제해야 하는 점이 불편했었다.

유니티 패키지 매니저를 사용하면 외부 패키지들은 패키지 단위로 묶여있고 독립적으로 관리되어 필요할 때 패키지를 업데이트하고 삭제할 수 있다. 그래서 프로젝트를 지저분하지 않고 깔끔하게 유지할 수 있다.

Package Manager


유니티에서 Window / Package Manager 로 패키지 매니저를 열 수 있다. 패키지 매니저 창에서 현재 프로젝트에서 사용중인 패키지들과 다른 여러 패키지들의 최신 버전을 확인할 수 있고, 필요한 패키지를 프로젝트에 install 하거나 update, remove 할 수 있다.

패키지 매니저는 프로젝트를 열 때 프로젝트 Packages 폴더에 있는 manifest.json 파일을 읽어온다. 패키지 매니저에서 수정된 내용은 manifest.json 에 반영된다.

Unity 에서 제공하는 패키지 이외의 패키지는 "+" 버튼을 통해 추가할 수 있다. (주로 오픈 소스 유니티 패키지를 가져올 때는 git 주소로 패키지를 추가할 수 있다.)

  • Add package from disk : package.json 을 선택해서 패키지를 추가할 수 있다.
  • Add package from tarball : *.tar.gz 을 선택해서 패키지를 추가할 수 있다.
  • Add package from git URL : git 주소로 패키지를 추가할 수 있다.

OpenUPM


OpenUPM 은 오픈 소스 UPM(Unity Package Manager) 패키지를 호스팅하고 빌드하기위한 오픈 소스 서비스입니다. OpenUPM 은 오픈 소스 UPM 패키지를 발견, 배포 및 공유하고 이와 함께 커뮤니티를 구축하기 위한 범용 플랫폼을 만드는 것을 목표로 한다.

OpenUPM 또한 Node.js 로 만들어진 모듈이기 때문에 npm 또는 yarn 으로 설치할 수 있다. (nodejs 12 이상 필요)

Install via npm:

npm install -g openupm-cli

Install via yarn:

yarn global add openupm-cli

패키지 추가하기

openupm add <pkg> [otherPkgs..]
openupm add <pkg>@<version>
openupm add <pkg>@git@github.com:...
openupm add <pkg>@https://github.com/...
openupm add <pkg>@file:...

패키지 제거하기

openupm remove <pkg> [otherPkgs...]

더 많은 openupm 명령어는 OpenUPM-Cli 깃헙 페이지를 참고

OpenUPM 을 통해 설치가능한 유니티 오픈 소스 패키지는 OpenUPM 홈페이지에서 검색할 수 있다. 설치하고 싶은 오픈소스 패키지를 검색해서 들어가면 openupm 을 통해 설치하는 명령어가 오른쪽 상단에 있다. 이 명령어를 copy 해서 유니티 프로젝트 경로에서 입력해주면 패키지가 설치된다.

Example


UniTask 를 예를 들면, 오픈 소스의 경우 아래와 같이 깃헙 페이지에 git 주소로 패키지를 설치하거나 OpenUPM 으로 패키지를 설치하는 방법이 안내되어 있다.

유니티 프로젝트에 패키지를 추가하면 아래와 같이 패키지 매니저에 패키지가 추가된 것을 확인할 수 있다.

참고 문서


Unity Package Manager

[Unity] Unity Package Manager (유니티 패키지 매니저 UPM )

openupm/openupm

[Unity] OpenUPM 사용법

profile
유니티 개발을 조금씩 해왔습니다.

1개의 댓글

comment-user-thumbnail
2022년 9월 6일

UPM을 써보고 싶었는데, 참고하면 좋겠네요.
자료 감사합니다!

답글 달기