UnityのPackage Managerを使って追加機能をインストールする方法をまとめました。
- Package Managerとは?
- パッケージをインストールする・削除する
- バージョンを指定してインストールする
- プレビュー版のパッケージをインストールする
- ドキュメントなどを見る
- インストールしたパッケージを管理するjson
- インストールされたパッケージが配置されるフォルダ
- 参考
Unity2018.4.0
Package Managerとは?
Package Managerは、Unity公式の追加機能などをインストールするための機能です。
例えばCinemachineなどは以前はAsset Storeを通して配布されていましたが、
この方法だとプロジェクトごとにインストールが必要であったり、
バージョン管理がしづらかったりといったデメリットがありました。
Package Managerの登場によりこれらのデメリットがなくなり、追加機能が管理しやすくなりました。
今後は基本的にこのPackage Managerで追加機能などが配布されていくものと思われます。
ちなみにCinemachineのようにAsset StoreからPackage Managerに移動したものに関しては、
Asset Storeの説明欄にPackage Managerから最新版をインストールするように注意書きがされています。
assetstore.unity.com
(そのうちAsset Storeからも消えるのかもしれません)
パッケージをインストールする・削除する
それでは実際にパッケージをインストールしてみます。
まず、Window > Package ManagerからPackage Managerのウィンドウを開きます。
このようなウィンドウが開かれます。
次にインストールしたいパッケージの名前を検索バーに入力します。
今回はAsset Bundle Browserをインストールしてみます。
お目当てのパッケージが見つかったら、Installボタンからインストールを開始します。
InstallボタンがUp to dateボタンに切り替わったらインストール完了です。
また、間違えてインストールしてしまったり、開発の途中で不要になったパッケージは
Removeボタンを押せばプロジェクトから削除できます。
バージョンを指定してインストールする
上記の手順でインストールを行うと、デフォルトの設定ではそのパッケージの最新バージョンがインストールされます。
しかし最新バージョンでうまく動かなかった場合など、古いバージョンをインストールしたいケースがあります。
そのような場合にはInstallボタンあるいはUp to dateボタンの右側のバージョンをクリックし、All versionsから古いバージョンを選択します。
あとは通常のインストールやアップデート時と同じように左側のボタンを押すだけです。
プレビュー版のパッケージをインストールする
パッケージの一覧には、デフォルトではプレビュー版のパッケージは出てきません。
例えばUnity2018.4.0では、Memory Profilerを検索しようとしてもNo resultsという表示が出てしまいます。
プレビュー版のパッケージは以下の手順で検索結果に表示できます。
Unity2019以前の方法
まずUnity2019以前のバージョンでは、ツールバーのAdvancedドロップダウンからShow Preview Packagesを有効にします。
するとプレビュー版のパッケージも表示され、インストールできるようになります。
Unity2020以降の方法
Unity2020からはプレビュー版パッケージを有効にする手順が変わりました。
Project Settings > Package Manager > Advanced Settings > Enable Preview Packages
にチェックを入れることで有効にできます。
ドキュメントなどを見る
インストールしたパッケージのドキュメントはたいていPackage Managerからリンクされています。
また、バージョンごとのChange Logやライセンス情報もここからリンクされています。
新しいパッケージをインストールする際にはチェックするようにしましょう。
インストールしたパッケージを管理するjson
さて、今このプロジェクトどのパッケージが組み込まれているのかはjsonファイルによって管理されています。
プロジェクト直下のPackages/manifest.jsonを開いてみます。
{ "dependencies": { "com.unity.ads": "2.0.8", "com.unity.analytics": "3.2.2", "com.unity.assetbundlebrowser": "1.7.0", "com.unity.collab-proxy": "1.2.15", "com.unity.memoryprofiler": "0.1.0-preview.6", "com.unity.package-manager-ui": "2.0.7", "com.unity.purchasing": "2.0.3", "com.unity.textmeshpro": "1.3.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.animation": "1.0.0", "com.unity.modules.assetbundle": "1.0.0", "com.unity.modules.audio": "1.0.0", "com.unity.modules.cloth": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.imageconversion": "1.0.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.particlesystem": "1.0.0", "com.unity.modules.physics": "1.0.0", "com.unity.modules.physics2d": "1.0.0", "com.unity.modules.screencapture": "1.0.0", "com.unity.modules.terrain": "1.0.0", "com.unity.modules.terrainphysics": "1.0.0", "com.unity.modules.tilemap": "1.0.0", "com.unity.modules.ui": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.modules.umbra": "1.0.0", "com.unity.modules.unityanalytics": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", "com.unity.modules.unitywebrequestassetbundle": "1.0.0", "com.unity.modules.unitywebrequestaudio": "1.0.0", "com.unity.modules.unitywebrequesttexture": "1.0.0", "com.unity.modules.unitywebrequestwww": "1.0.0", "com.unity.modules.vehicles": "1.0.0", "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0", "com.unity.modules.wind": "1.0.0", "com.unity.modules.xr": "1.0.0" } }
このように、プロジェクトで使っているパッケージの一覧とそのバージョンが記載されています。
先ほどインストールしたMemory Profilerもインストールされていることがわかります。
インストールされたパッケージが配置されるフォルダ
インストールされたパッケージの実態(dllファイルとかcsとか)は、プロジェクトをまたいで共用されます。
そのためこれらのファイルはプロジェクト内には存在しません。
Windowsの場合は、下記のようにAppDataの中にあることが多いと思います。
C:\Users\User Name\AppData\Local\Unity\cache
このcacheフォルダ配下のnpmフォルダに展開前のファイルが、pakcagesフォルダに展開後のファイルが配置されます。
試しに展開後のMemory Profilerのフォルダを見てみます。
色々なファイルやフォルダが展開されていることがわかりました。
プロジェクトからはこれらを参照して使っています。