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

jinwook4217·2020년 12월 18일
1

유니티를 사용하다 보면 외부 패키지를 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을 써보고 싶었는데, 참고하면 좋겠네요.
자료 감사합니다!

답글 달기