コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Could not establish connection with the Unity Package Manager local server process.

概要

f:id:baba_s:20200409103321p:plain

Could not establish connection with the Unity Package Manager local server process.
This is most likely due to a proxy or firewall configuration. Make sure the process
[XXXX] is reachable via HTTP on the IP address 127.0.0.1.
  • Unity プロジェクト起動時に上記のエラーダイアログが表示されて
    プロジェクトが起動できない問題に遭遇した
  • Unity 2018.4.20f1 をインストールして、Unity 2018.4.12f1 ではなく
    Unity 2018.4.20f1 を使用したところ、正常にプロジェクトを起動することができた

他に調べたこと

前述のエラー内容を調べた際に、下記のサイトを発見した

人によってはプロキシを設定している場合や
セキュリティソフトが働いている場合に前述のエラーが発生するため
セキュリティソフトを更新したり、環境変数やファイアウォールの
ホワイトリストの設定をすると、直ることがあるらしい

念の為にそれらの手順も試してみたが、自分の環境では解決には至らなかった
ただ、他の人の役に立つかもしれないので以下に試した手順を書き残しておきます

想定環境

  • Windows 10

Windows Defender の更新

  1. 下記のサイトを参考に Windows Defender を更新する
  2. Unity プロジェクトが開けるか確認する
    • 開けた場合は以上で作業が完了
    • 開けなかった場合は「Unity 起動用の専用のバッチファイルの作成」に進む

Unity 起動用の専用のバッチファイルの作成

  1. UnityHub や Unity を起動している場合は終了しておく
  2. スタートメニューから「設定」を開く
  3. 「ネットワークとインターネット」を開く
  4. 左メニューの「プロキシ」を開く
  5. 「手動プロキシ セットアップ」の欄の「アドレス」に入力されている文字列をどこかにメモしておく
    • もし「アドレス」に何も入力されていない場合は「Unity 起動用の専用のバッチファイルの作成」の作業は必要ありません
    • 「環境変数の設定 その1」に進みます
  6. メモ帳を開く
  7. 次のテキストをコピペする
@echo off
set HTTP_PROXY=【ここにアドレスを入力】
set HTTPS_PROXY=【ここにアドレスを入力】
start "" "C:\Program Files\Unity Hub\Unity Hub.exe"
  1. コピペしたテキストの「【ここにアドレスを入力】」の欄に、先ほどメモしておいた文字列を入力する
  2. デスクトップなどに「launchUnityHub.cmd」というファイル名で保存する
  3. 保存した「launchUnityHub.cmd」をダブルクリックして UnityHub が起動することを確認する
  4. Unity プロジェクトが開けるか確認する
    • 開けた場合は以上で作業が完了
    • 開けなかった場合は「環境変数の設定 その1」に進む

環境変数の設定 その1

  1. UnityHub や Unity を起動している場合は終了しておく
  2. UnityHub を起動している場合は終了しておく
  3. タートメニューの検索欄に「環境変数」と入力して、表示された「システム環境変数の編集」を選ぶ
  4. 「環境変数(N)...」ボタンを押す
  5. 「【ユーザー名】のユーザー環境変数」の欄の「新規」ボタンを押す
  6. 下記の項目を設定して「OK」を押す(既に「UNITY_NOPROXY」が存在する場合も同様)
    • 変数名:UNITY_NOPROXY
    • 変数値:localhost,127.0.0.1
  7. 環境変数ウィンドウの「OK」を押す
  8. 「launchUnityHub.cmd」を起動して Unity プロジェクトが開けるか確認する
    • 開けた場合は以上で作業が完了
    • 開けなかった場合は「環境変数の設定 その2」に進む

環境変数の設定 その2

  1. UnityHub や Unity を起動している場合は終了しておく
  2. スタートメニューの検索欄に「環境変数」と入力して、表示された「システム環境変数の編集」を選ぶ
  3. 「環境変数(N)...」ボタンを押す
  4. 「【ユーザー名】のユーザー環境変数」の欄の「新規」ボタンを押す
  5. 下記の項目を設定して「OK」を押す
    • 変数名:HTTP_PROXY
    • 変数値:localhost,127.0.0.1
  6. 再度、「【ユーザー名】のユーザー環境変数」の欄の「新規」ボタンを押して、下記の項目を設定して「OK」を押す
    • 変数名:HTTPS_PROXY
    • 変数値:localhost,127.0.0.1
  7. 環境変数ウィンドウの「OK」を押す
  8. 「launchUnityHub.cmd」を起動して Unity プロジェクトが開けるか確認する
    • 開けた場合は以上で作業が完了
    • 開けなかった場合は「環境変数の設定 その2」に進む

ファイアウォールのホワイトリストの設定

  1. UnityHub や Unity を起動している場合は終了しておく
  2. スタートメニューの検索欄に「firewall」と入力して、表示された「Windows Defender ファイアウォール」を選ぶ
  3. 左メニューの「詳細設定」を選択する
  4. 左メニューの「受信の規則」を選択する
  5. 右メニューの「新しい規則...」を選択する
  6. 「新規の受信の規則ウィザード」が表示されたら「プログラム」をチェックした状態で「次へ」を押す
  7. 「このプログラムのパス」をチェックした状態で、Unity.exe のパスを入力もしくは「参照」から選択して「次へ」を押す
    • Unity.exe のパスは下記のようなものになります
    • C:\Program Files\Unity\Hub\Editor\2018.4.12f1\Editor\Unity.exe
  8. 「接続を許可する」をチェックした状態で「次へ」を押す
  9. 「ドメイン」「プライベート」「パブリック」すべてがチェックされた状態で「次へ」を押す
  10. 「名前」に「Unity リモート作業用の設定」と入力して「完了」を押す
  11. 「受信の規則」の一覧に「Unity リモート作業用の設定」という項目が追加されたことを確認する
  12. 「launchUnityHub.cmd」を起動して Unity プロジェクトが開けるか確認する
    • 開けた場合は以上で作業が完了

上記手順を試しても直らない場合

  • わからないです...
  • 上記手順を試しても直らなかった場合は、設定した内容を元に戻します
    • 作成した「launchUnityHub.cmd」の削除
    • 作成した環境変数3つの削除
    • ファイアウォールのホワイトリストに追加した規則の削除
  • 特に「HTTP_PROXY」と「HTTPS_PROXY」の環境変数は
    SourceTree や Fork などの Git クライアントの挙動にも影響してしまうため
    環境変数を設定しても直らなかった場合は削除しておきます