Unity Package Manager はパッケージのコンテンツとメタデータをダウンロードすると、グローバルキャッシュに保存します。これにより、パッケージの再利用や共有をより効率的に行い、オフラインでも保存されたパッケージをインストールして更新することができます。
デフォルトでは、Unity はグローバルキャッシュをルートディレクトリに保存します。ルートディレクトリは、オペレーティングシステムに依存します (Windows の場合はユーザーアカウントの種類にもよります)。
オペレーティングシステム | デフォルトルートディレクトリ |
---|---|
Windows (ユーザーアカウント) | %LOCALAPPDATA%\Unity\cache |
Windows (システムユーザーアカウント) | %ALLUSERSPROFILE%\Unity\cache |
macOS | $HOME/Library/Unity/cache |
Linux | $HOME/.config/unity3d/cache |
ヒント: このルートディレクトリの場所は、UPM_CACHE_ROOT
環境変数、またはコンフィギュレーションファイルの cacheRoot
プロパティのいずれかで上書きできます。詳細は、共有キャッシュ保存場所のカスタマイズ を参照してください。
Package Manager は 2 つの異なる共有キャッシュを使用しており、それぞれが異なる目的を果たしています。これらは上記の保存場所フォルダー配下のサブディレクトリに格納されています。
サブフォルダー | 説明 |
---|---|
npm |
npm プロトコルを使ってレジストリから取得したデータを保存します。これには、パッケージのメタデータとパッケージの .tgz ファイル が含まれます。 |
packages |
このキャッシュには、レジストリから取得した .tgz ファイルの圧縮されていないコンテンツが含まれています。 |
これらのサブフォルダの中には、それぞれのレジストリが独自のパスを持っています。そのため、異なるレジストリでホストされているパッケージが混ざらないようになっています。
ヒント: 環境変数を使って、これらのフォルダーの場所を上書きすることができます。詳しくは共有キャッシュ保存場所のカスタマイズ を参照してください。
Unity エディターのプロセスを実行するユーザーアカウントは、ルートディレクトリとそのコンテンツに対する完全な書き込み権限を持っていなければなりません。これらの権限がないと、Package Manager はパッケージのメタデータとコンテンツをダウンロードしてキャッシュに保存することができません。