Version: 2020.1
言語: 日本語
依存関係と競合の解決
コンフィギュレーション

グローバルキャッシュ

Unity Package Manager はパッケージのコンテンツとメタデータをダウンロードすると、グローバルキャッシュに保存します。これにより、パッケージの再利用や共有をより効率的に行い、オフラインでも保存されたパッケージをインストールして更新することができます。

保存場所

デフォルトでは、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 を再起動する必要があります。


依存関係と競合の解決
コンフィギュレーション