この記事は、以下に該当するお客様向けのご案内です。
- Unity プロジェクトを開くことができない。
- Unity を開くと必ず "Could not establish a connection with the Unity Package Manager local server process" というエラーが発生する。
原因:
このエラーは、Unity Editor が Unity Package Manager (UPM) のプロセスを開始したものの、http://127.0.0.1 と通信できない場合に発生します。
原因としては、http://127.0.0.1 での HTTP トラフィックがファイアウォールによってブロックされている、またはプロキシによって http://127.0.0.1 から再ルーティングされているなど、様々なことが考えられます。
解決策:
プロキシ:
プロキシサーバー (企業ネットワークなど) が、マシンからの HTTP トラフィックをリダイレクトしている可能性があります。プロキシが http://127.0.0.1 のトラフィックを傍受している場合、Unity エディタは UPM と通信できない可能性があります。このため、Unity では UPM のリクエストに対して、自動的にプロキシを迂回しています。
ただし、以前のバージョンの Unity では環境変数 NO_PROXY または UNITY_NOPROXY を使用して、プロキシの迂回を無効にすることができました。これらの変数を設定している場合は、その値に 127.0.0.1 が含まれていることを確認してください。例えば、以下のようになります。
UNITY_NOPROXY=localhost,127.0.0.1,google.com,my-no-proxy-domain.com
重要: UNITY_NOPROXY の設定なしでも Unity が UPM と通信できず、以下のように変数を設定すると問題が解決したという報告も確認されています。
UNITY_NOPROXY=localhost, 127.0.0.1
重要: localhost と 127.0.0.1 の両方が設定されており、localhost が最初に表示されていると良いとの報告も確認されています。
環境変数の設定方法については、以下の記事をご確認ください。
以下のバージョンの Unity からは、環境変数を使ってプロキシの迂回を上書きすることはできなくなりました。Unity は、UPM との接続では常にプロキシを迂回するようになります。
Unity 2020 - 2020.1.0a24 and up
Unity 2019 - 2019.3.4f1 and up
Unity 2018 - 2018.4.18f1 and up
古いバージョンの Unity をお使いの方は、上記のバージョンへのアップグレードをご検討ください。そうすれば、UNITY_NOPROXY をどのように設定したとしても、UPM への接続に支障をきたすことはなくなります。
ファイアウォール:
Windows では、Windows Defender Firewall というファイアウォールがデフォルトで有効になっていることがあります。このファイアウォールは、特定のアプリケーションに対する HTTP 接続のインバウンド (受信) およびアウトバウンド (送信) を制限することができます。Unity Hub 経由で Unity エディタをインストールすると、Unity Hub は自動的に Windows Defender Firewall にルールを追加し、Unity エディタへのインバウンド接続を許可します。
受信ルールを表示する方法:
まず、コントロールパネル > システムとセキュリティ > Windows Defender Firewall > 詳細設定 > 受信の規則 をクリックしてください。
Unity エディタのバージョンがブロックされている (赤丸のアイコン) 場合は、右側からプロパティをクリックし、操作で「接続を許可する」を選択してください。
お使いの Unity エディタのバージョンに対応する規則が表示されていない場合は、以下の手順で規則を作成してみてください。
- 新しい規則... をクリックします。
- 規則の種類では、プログラムを選択します。
- このプログラムのパス欄に、Unity エディタのインストール先の絶対パスを入力します。
- 操作では、接続を許可するを選択します。
- プロファイルでは、全ての規則 (ドメイン、プライベート、パブリック) を選択します。
- ルールに名前を付けます。例: "Unity 2019.3.0a1 Editor"
重要: 稀に Unity エディタのバージョンに対応する既存のルールを設定しても、Windows Defender Firewall が UPM からのインバウンド接続を妨げ続けてしまうとの報告が確認されています。この場合、既存のルールを削除し再度作成することで解決したとのことです。
Unity Hub:
Unity Hub バージョン2.2.0で Unity エディタに環境変数を渡す方法が変更されました。これが原因で、ユーザー自身の環境変数の値が上書きされ、一部のユーザーに問題が発生しました。上書きされた環境変数がプロキシ関連であった場合、Unity が UPM に接続できなくなりました。
Unity Hub バージョン2.2.2以上では、この問題が修正され Unity エディタの起動時にユーザーおよびシステムの環境変数が保持されるようになりました。もし古いバージョンの Unity Hub をご利用の場合は、バージョン2.2.2以上にアップグレードしてください。