Package Manager は、圧縮されたパッケージコンテンツとレジストリメタデータの グローバルキャッシュ を保持します。
グローバルキャッシュは、Package Manager がアセットパッケージ用に保持するキャッシュとは別のキャッシュです。アセットパッケージキャッシュの詳細については、アセットパッケージのキャッシュの場所のカスタマイズ を参照してください。
デフォルトでは、Package Manager のグローバルキャッシュルートには以下のサブディレクトリがあり、各サブキャッシュは異なる目的を果たします。
db サブディレクトリは、レジストリデータ (パッケージメタデータと tarball) を格納します。git-lfs サブディレクトリは、ダウンロードされた Git LFS ファイルを格納します。
ノート: Unity エディター 2023.2 でプロジェクトを作成した場合は、グローバルキャッシュに packages サブディレクトリもある場合があります。Unity 6 ベータ版以降、Package Manager はこのサブディレクトリを使用しません。古いバージョンのエディターで作成されたプロジェクトを維持しない場合は、このサブディレクトリを削除できます。
Package Manager は、グローバルキャッシュをデフォルトの場所に保存します。この場所はオーバーライドできます。グローバルキャッシュルートのデフォルトの場所については、グローバルキャッシュ を参照してください。
グローバルキャッシュの場所をオーバーライドする理由は、以下のいくつかが考えられます。
2023.2.0f1 以降、db サブディレクトリの最大サイズはデフォルトで 10 ギガバイト (GB) です。このサイズはオーバーライドできます。db サブディレクトリの最大サイズをオーバーライドする理由は、以下のいくつかが考えられます。
以下の表は、デフォルトプロパティのオーバーライドに使用できるさまざまな方法を示しています。
| 方法 | グローバルキャッシュの場所 | db サブディレクトリの最大サイズ |
その他の注意事項 |
|---|---|---|---|
| Preferences ウィンドウ | はい | いいえ | 簡単で永続的なため、推奨される方法です。この方法でパッケージキャッシュの場所を変更すると、Unity は現在と将来の Unity エディターセッションの設定を保存します。 |
| ユーザー設定ファイル | はい | はい | ユーザー設定ファイルでのパッケージキャッシュプロパティのオーバーライドは、現在の Unity エディターセッション後も維持されます。 |
| 環境変数 | はい | はい | デフォルトでは、この方法は現在のコマンドプロンプト (またはターミナル) セッションの設定を行いますが、OS の設定で永続的な設定にすることができます。上級ユーザーは、特定のユースケースでセッションベースの変数を好む場合があります。 |
ノート: Preferences ウィンドウを使用してグローバルキャッシュの場所を設定すると、ユーザー設定ファイルの cacheRoot プロパティも設定されます。ユーザー設定ファイルを手動で設定する場合は、ユーザー設定ファイルの使用 を参照してください。
db サブディレクトリの最大サイズを設定し、新しいサイズがそのサブディレクトリの現在のサイズより小さい場合、Package Manager は新しい制限に達するまでコンテンツをキャッシュから排除します。Package Manager は、最も長い間使われていないコンテンツから順に (プロジェクトへのインストール日に基づいて) 削除します。UPM_NPM_CACHE_PATH) または Git LFS キャッシュ (UPM_GIT_LFS_CACHE_PATH) に環境変数を設定する場合、Package Manager は、グローバルキャッシュルートがどこにあるかにかかわらず、環境変数に指定された場所を使用します。UPM_GIT_LFS_CACHE_PATH) を明示的に設定せずに Git LFS キャッシュ (UPM_ENABLE_GIT_LFS_CACHE) を有効にすると、Package Manager は、グローバルキャッシュルートの下にある git-lfs フォルダーをその場所として使用します。
Preferences ウィンドウを使用してグローバルキャッシュのデフォルトの場所をオーバーライドするには、以下のステップに従います。
以下のいずれかの方法で、Preferences ウィンドウを開きます。
Package Manager カテゴリを選択します。
Packages の下の Cache Location
の横のメニューを開きます。
Change Location を選択します。
グローバルキャッシュの新しい場所を選択します。
ユーザー設定ファイルを手動で編集して、グローバルキャッシュルートの場所または db サブディレクトリの最大サイズ、あるいはその両方をオーバーライドできます。
ユーザー設定ファイルを編集するには、以下のステップに従います。
.upmconfig.toml ユーザー設定ファイルを見つけます。ファイルの場所を見つけるには、設定ファイル を参照してください。ファイルが存在しない場合は、空のテキストファイルを作成します。
グローバルキャッシュルートの場所をオーバーライドするには、cacheRoot キーを追加し、その値をカスタムの場所への絶対パスとして設定します。重要: TOML ファイルで Windows パスを設定する場合は、フォワードスラッシュ (/) またはダブルバックスラッシュ (\\) を使用します。単独のバックスラッシュ (\) は使用しないでください。これはエスケープシーケンスを示す特殊文字であり、TOML 解析エラーの原因となる可能性があります。
db サブディレクトリの最大サイズをオーバーライドするには、maxCacheSize キーを追加し、その値をバイト数を表す正の整数に設定します。例えば、サイズを 5 GB に設定するには、値 5000000000 を割り当てます。
どちらかのプロパティを設定した後に、その変更を有効にするために Unity エディターや Hub を再起動する必要はありません。
Windows の例
cacheRoot = "E:\\Unity\\cache"
maxCacheSize = 5000000000
macOS と Linux の例
cacheRoot = "/dev/external/shared/Unity/cache"
maxCacheSize = 5000000000
自動化や継続的インテグレーションを伴うシナリオでは、ユーザー設定ファイルや Preferences ウィンドウでの設定は現実的ではなく、エラーが発生しやすくなります。このようなシナリオでは、環境変数を使用してグローバルキャッシュとそのサブキャッシュの設定を行うことを検討してください。以下の環境変数が使用できます。
| 環境変数 | 説明 |
|---|---|
UPM_CACHE_ROOT |
グローバルキャッシュ の場所 (レジストリデータと圧縮されていないパッケージキャッシュを含むルートフォルダー) を指定します。 |
UPM_NPM_CACHE_PATH |
Package Manager がレジストリデータキャッシュ用に使用する場所の絶対パスを指定します。デフォルトでは、グローバルキャッシュルートの下にある db サブフォルダーです。 |
UPM_ENABLE_GIT_LFS_CACHE |
Git LFS キャッシュを有効にするには、空 ("") 以外の任意の値を指定します。デフォルトでは、Package Manager は、UPM_GIT_LFS_CACHE_PATH 環境変数を使用して別のパスが指定されていない限り、グローバルキャッシュルート下の git-lfs サブフォルダーを使用します。 |
UPM_GIT_LFS_CACHE_PATH |
Package Manager が Git LFS キャッシュ を保存する場所の絶対パスを指定します。このパスを設定することにより、自動的に Git LFS キャッシュを有効にします。 |
UPM_MAX_CACHE_SIZE |
レジストリデータキャッシュ (db サブディレクトリ) の最大サイズをバイト単位の正の整数で指定します。例えば、サイズを 5 GB に設定するには、値 5000000000 を割り当てます。 |
重要: この方法を使用する場合は、以下のガイドラインに従ってください。
環境変数の設定については、OS のドキュメントを参照してください。環境変数については、https://en.wikipedia.org/wiki/Environment_variable を参照してください。