Version: 2021.1
グローバルキャッシュ
ネットワークの問題の解決

コンフィギュレーション

このセクションでは、Package Manager の以下の設定方法について説明します。

また、Package Manager の設定ファイルの場所は、コンフィギュレーションファイル で確認できます。

共有キャッシュの保存場所のカスタマイズ

デフォルトでは、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 環境変数 を設定します。

ノート: Windows 以外の環境では、環境変数を使って Unity を起動することが難しい場合がるので、macOS や Linux システムでは、コンフィギュレーションファイルを使用する方法を検討してください。

環境変数 を設定することで、レジストリデータキャッシュ、圧縮されていないパッケージキャッシュ、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 フォルダーをその場所として使用します。

コンフィギュレーションファイルの使用

以下の手順で、グローバルのキャッシュルート の場所を上書きしてください。

  1. .upmconfig.toml ユーザーコンフィギュレーションファイル の場所を確認します。ファイルが存在しない場合は、空のテキストファイルを作成します。

  2. cacheRoot プロパティに絶対パスでカスタムの場所を設定します。以下はその例です。

    cacheRoot = "/dev/external/shared/Unity/cache"
    

cacheRoot プロパティを更新した後に、それを有効にするために Unity エディターや Hub を再起動する必要はありません。

環境変数の使用

環境変数を使用して、Package Manager の設定の一部を行うことができます。しかし、これらの設定を適用するためには、毎回これらの環境変数が定義され、エクスポートされるターミナルやコマンドプロンプトから Unity や Hub を起動する必要があります。

例えば、macOS や Linux のターミナルでこれらのコマンドを実行すると、レジストリデータのキャッシュを上書きして、Git LFS キャッシュを有効にすることができます。

# On macOS/Linux:
export UPM_NPM_CACHE_PATH=/dev/ssd/shared/Unity/cache/npm
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:
@echo off
set UPM_CACHE_ROOT=%ALLUSERSPROFILE%\Unity\config
echo "Launching Unity with this global cache location: '%UPM_CACHE_ROOT%'"
"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_GIT_LFS_CACHE_PATH Package Manager が Git LFS キャッシュ を保存する場所の絶対パスを指定します。このパスを設定することにより、自動的に Git LFS キャッシュは有効になります。
UPM_ENABLE_GIT_LFS_CACHE Git LFS キャッシュを有効にするには、空 ("") 以外の任意の値を指定します。Package Manager は、グローバルキャッシュルート下の git-lfs サブフォルダーを使用します。

コンフィギュレーションファイル

Package Manager は 2 つのコンフィギュレーションファイルをサポートしています。グローバルコンフィギュレーションファイルとユーザーコンフィギュレーションファイルです。これらのファイルはどちらも、TOML 形式を使用しており、異なる場所に表示されます。

  • グローバル コンフィギュレーションファイルは、マシン上のすべてのユーザーに適用されます。例えば、マシン全体のプロキシサーバーを設定する際に、追加の SSL 認証局 を定義することができます。
  • ユーザー コンフィギュレーションファイルは、1 人のユーザーに適用されます。例えば、認証トークン を設定して、スコープ付きレジストリでアクセスするカスタムパッケージのレジストリサーバーに使用します。これらのトークンは、特定のユーザーアカウントを認証します。

グローバルコンフィギュレーションファイルの場所

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)




  • グローバルキャッシュルートの設定は、Unity 2021.2 では Package Manager コンフィギュレーションファイルでサポートされるようになりましたNewIn20212
グローバルキャッシュ
ネットワークの問題の解決