Version: 2019.1
概念
Package Manager ウィンドウ

グローバルキャッシュ

When the Unity Package Manager downloads package contents and metadata, it stores them in a global cache. This makes re-using and sharing packages more efficient, and allows you to install and update stored packages even when offline. The global cache is read-only to users and installed with Unity starting with version 2017.4.

保存場所

デフォルトでは、Unity はグローバルキャッシュをルートディレクトリに保存します。ルートディレクトリは、オペレーティングシステムに依存します (Windows の場合はユーザーアカウントの種類にもよります)。

オペレーティングシステム デフォルトルートディレクトリ
Windows (システムユーザーアカウント以外) %LOCALAPPDATA%\Unity\cache
Windows (システムユーザーアカウント) %ALLUSERSPROFILE%\Unity\cache
macOS $HOME/Library/Unity/cache
Linux $HOME/.config/unity3d/cache

構造

Package Manager は 2 つの異なる共有キャッシュを使用しており、それぞれが異なる目的を果たしています。これらは上記の保存場所フォルダー配下のサブディレクトリに格納されています。

サブフォルダー 説明
npm npm プロトコルを使ってレジストリから取得したデータを保存します。これには、パッケージのメタデータとパッケージの .tgz ファイル が含まれます。
packages このキャッシュには、レジストリから取得した .tgz ファイルの圧縮されていないコンテンツが含まれています。

これらのサブフォルダの中には、それぞれのレジストリが独自のパスを持っています。そのため、異なるレジストリでホストされているパッケージが混ざらないようになっています。

要件

Unity エディターのプロセスを実行するユーザーアカウントは、ルートディレクトリとそのコンテンツに対する完全な書き込み権限を持っていなければなりません。これらの権限がないと、Package Manager はパッケージのメタデータとコンテンツをダウンロードしてキャッシュに保存することができません。

共有キャッシュの保存場所のカスタマイズ

2 つの環境変数を使用して、どちらかのグローバルキャッシュフォルダーをオーバーライドすることができます。

  • UPM_NPM_CACHE_PATHnpm フォルダーパスをオーバーライドします。以下は macOS の例。

    UPM_NPM_CACHE_PATH=/dev/ssd/shared/Unity/cache/npm

  • UPM_CACHE_PATHpackages フォルダーパスをオーバーライドします。以下は macOS の例。

    UPM_CACHE_PATH=/dev/ssd/shared/Unity/cache/packages

これらの環境変数のいずれかを変更した後、変更を有効にするには Unity Editor と Hub を再起動する必要があります。

概念
Package Manager ウィンドウ