The Package Manager maintains a global cache for registry data and uncompressed packages.
The global cache is separate from the cache that the Package Manager maintains for Asset Store packages. For information about the Asset Store cache, refer to Customize the Asset Store cache location.
By default, the Package Manager’s global cache root has the following subdirectories, with each subsidiary cache serving a different purpose:
db
subdirectory stores registry data (package metadata and tarballs).packages
subdirectory stores uncompressed contents of package tarballs.git-lfs
subdirectory stores downloaded Git Large File Storage (LFS) files, if you’ve enabled Git LFS.The Package Manager stores the global cache in a default location, which you can override. For information on the default location of the global cache root, refer to global cache.
You might want to override the global cache location for several reasons:
Starting with 2023.2.0f1, the maximum size of the db
subdirectory defaults to 10 gigabytes (GB), which you can override. You might want to override the maximum size of the db
subdirectory for several reasons:
The following table illustrates the different methods you can use to override the default properties:
メソッド | Global cache location | db subdirectory max size |
Additional notes |
---|---|---|---|
Preferences window | 可 | なし | This is the recommended method because of its ease and permanence. When you change the package cache location using this method, Unity stores the preference for the current and future Unity Editor sessions. |
User configuration file | 可 | 可 | Package cache property overrides in a user configuration file persist beyond the current Unity Editor session. |
Environment variables | 可 | 可 | By default, this method sets the configuration for the current command prompt (or terminal) session, but you can make it permanent in your operating system settings. Advanced users might prefer session-based variables in specific use cases. |
Note: Using the Preferences window to set the global cache location also sets the cacheRoot
property in a user configuration file. If you want to set the user configuration file manually, refer to Using the user configuration file.
db
subdirectory and the new size is less than the current size of that subdirectory, the Package Manager will evict content from the cache until the new limit is reached. The Package Manager evicts the least recently used content first (based on the installation date into a project).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
フォルダーをその場所として使用します。Preferences ウィンドウを使ってグローバルキャッシュのデフォルトの場所をオーバーライドするには、以下の手順に従ってください。
以下のいずれかの方法で Preferences (環境設定) ウィンドウを開きます。
Package Manager カテゴリを選択します。
Packages の下にある Cache Location の横にあるメニューを開きます。
Change Location を選択します。
グローバルキャッシュの新しい場所を選択します。
You can manually edit the user configuration file to override the location of the global cache root, or the maximum size of the db
subdirectory, or both.
以下の手順に従って、ユーザー設定を編集してください:
.upmconfig.toml
ユーザー設定ファイルの場所を確認します。ファイルの場所を見つけるには、設定ファイル を参照してください。ファイルが存在しない場合は、空のテキストファイルを作成します。
To override the location of the global cache root, add the cacheRoot
key and set its value as an absolute path to a custom location. 重要: TOML ファイルで Windows のパスを設定するときは、フォワードスラッシュ (/
) またはダブルバックスラッシュ (\\
) を使用してください。シングルバックスラッシュ (\
) は、エスケープシーケンスを示す特殊文字であり TOML 解析エラーの原因となるため、使用しないでください。
To override the maximum size of the db
subdirectory, add the maxCacheSize
key and set its value to a positive integer representing the number of bytes. For example, to set the size to 5 GB, assign a value of 5000000000
.
You don’t need to restart the Unity Editor or the Hub after setting either property for the change to take effect.
Windows の例
cacheRoot = "E:\\Unity\\cache"
maxCacheSize = 5000000000
macOS と Linux の例
cacheRoot = "/dev/external/shared/Unity/cache"
maxCacheSize = 5000000000
自動化や継続的インテグレーションを含むシナリオでは、ユーザー設定ファイルや Preferences ウィンドウで設定を行うのは現実的ではなく、エラーが発生しやすくなります。そのようなシナリオでは、グローバルキャッシュとその補助キャッシュの設定を行うために環境変数を使用することを検討してください。以下の環境変数が利用できます。
Environment variable | 説明 |
---|---|
UPM_CACHE_ROOT |
グローバルキャッシュ の場所を指定します (レジストリデータと圧縮されていないパッケージキャッシュを含むルートフォルダー)。 |
UPM_NPM_CACHE_PATH |
Specify the absolute path to the location you want the Package Manager to use for its registry data cache. By default, this is the db subdirectory under the global cache root. |
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 キャッシュは有効になります。 |
UPM_MAX_CACHE_SIZE |
Specify the maximum size of the registry data cache (the db subdirectory) as a positive integer, in bytes. For example, to set the size to 5 GB, assign a value of 5000000000 . |
重要: この方法を用いる場合は、以下のガイドラインに従ってください。
環境変数の設定については、オペレーティングシステムのドキュメントを参照してください。環境変数については、環境変数 を参照してください。