デフォルトでは、Package Manager はキャッシュに以下のフォルダー構造を使用します。
<global-cache-root>
  ├── npm
  │   └── <registry data (package metadata and tarballs)>
  ├── packages
  │   └── <uncompressed contents of package tarballs>
  └── git-lfs (if enabled)
       └── <downloaded Git LFS files>
Package Manager のグローバルのキャッシュルートのデフォルトの場所をオーバーライドするには、ユーザー環境設定ファイル の cacheRoot プロパティを使用するか、UPM_CACHE_ROOT 環境変数 を設定します。
ノート: macOS と Linux システムでは、環境変数を使って Unity を起動することが難しい場合がるので、環境設定ファイルを使用する方法を検討してください。
環境変数 を設定することで、レジストリデータキャッシュ、圧縮されていないパッケージキャッシュ、Git LFS キャッシュをオーバーライドすることができます。ただし、環境変数と環境設定ファイルのプロパティは同じではありません。そのため、異なる方法で設定を行うと、予期しない結果になることがあります。
異なる方法で複数の値を設定することがどのように作用するか、に影響を与える要因はたくさんあります。
UPM_CACHE_ROOT 環境変数と cacheRoot プロパティの両方でグローバルキャッシュルートに異なる値を設定する場合、Package Manager は UPM_CACHE_ROOT 環境変数の場所を使用します。UPM_NPM_CACHE_PATH)、非圧縮パッケージキャッシュ (UPM_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 フォルダーをその場所として使用します。以下の手順で、グローバルのキャッシュルート の場所を上書きしてください。
.upmconfig.toml ユーザー環境設定ファイルの場所を確認します。ファイルの場所を見つけるには、環境設定ファイル を参照してください。ファイルが存在しない場合は、空のテキストファイルを作成します。
cacheRoot プロパティに絶対パスでカスタムの場所を設定します。以下はその例です。
cacheRoot = "/dev/external/shared/Unity/cache"
cacheRoot プロパティを更新した後に、それを有効にするために Unity エディターや Hub を再起動する必要はありません。
環境変数を使用して、Package Manager の設定の一部を行うことができます。しかし、これらの設定を適用するためには、毎回これらの環境変数が定義され、エクスポートされるターミナルやコマンドプロンプトから Unity や Hub を起動する必要があります。
例えば、macOS や Linux のターミナルでこれらのコマンドを実行すると、グローバルのキャッシュルートの場所を設定し、Git LFS キャッシュを有効にすることができます。
# On macOS/Linux:
export UPM_CACHE_ROOT=/dev/ssd/shared/Unity/cache
export UPM_ENABLE_GIT_LFS_CACHE=true
echo "Launching Unity with the Git LFS cache enabled and using this global cache location: '$UPM_CACHE_ROOT'"
"/Applications/Unity Hub.app/Contents/MacOS/Unity Hub"
この Windows の例では、グローバルキャッシュルートと Git LFS キャッシュの両方の場所を設定します。
# On Windows:
set UPM_CACHE_ROOT=%ALLUSERSPROFILE%\Unity\cache
set UPM_GIT_LFS_CACHE_PATH=%ALLUSERSPROFILE%\repos\caches\lfs
echo "Launching Unity with this global cache location: '%UPM_CACHE_ROOT%'"
echo "... and this Git LFS cache location: '%UPM_GIT_LFS_CACHE_PATH%'"
"C:\Program Files\Unity Hub\Unity Hub.exe"
以下の環境変数が使用できます。
| 環境変数 | 説明 | 
|---|---|
| UPM_CACHE_ROOT | グローバルキャッシュ の場所を指定します (レジストリデータと圧縮されていないパッケージキャッシュを含むルートフォルダー)。 | 
| UPM_NPM_CACHE_PATH | Package Manager がパッケージのメタデータと .tgz ファイルを保存する場所への絶対パスを指定します。デフォルトでは、グローバルキャッシュルートの下にある npmサブフォルダーです。 | 
| UPM_CACHE_PATH | Package Manager がパッケージ .tgz ファイルの圧縮されていないコンテンツを保存する場所の絶対パスを指定します。デフォルトでは、グローバルキャッシュルートの下にある packagesサブフォルダーです。 | 
| 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 キャッシュは有効になります。 | 
Package Manager は 2 つの環境設定ファイルをサポートしています。グローバル環境設定ファイルとユーザー環境設定ファイルです。これらのファイルはどちらも、TOML 形式を使用しており、異なる場所に表示されます。
Package Manager は、upmconfig.toml という名前のグローバルの環境設定ファイルを使用しています。
| 環境 | 場所 | 
|---|---|
| Windows | %ALLUSERSPROFILE%\Unity\config\upmconfig.toml | 
| macOS と Linux | /etc/upmconfig.toml | 
Package Manager は、.upmconfig.toml という名前のユーザー環境設定ファイルを使用します。
| 環境 | 場所 | 
|---|---|
| Windows (ユーザーアカウント) | %USERPROFILE%\.upmconfig.toml(例えば、C:\Users\myusername\.upmconfig.toml) | 
| Windows (システムユーザーアカウント) | %ALLUSERSPROFILE%Unity\\Config\ServiceAccounts\.upmconfig.toml(例えば、C:ussers\Public\Unityconfig\ServiceAccounts\.upmconfig.toml) | 
| macOS と Linux | ~/.upmconfig.toml(例えば、/Users/myusername/.upmconfig.toml) |