Version: 2019.4
トラブルシューティング
カスタムパッケージの作成

ネットワーク問題

Diagnostics ツールの使用

Unity Package Manager Diagnostics (診断) ツールを使用すると、Unity Package Manager に関連する一般的なネットワーク関連の問題を診断できます。Diagnostics ツールは、一般的なネットワークの問題を診断するために Unity サポートチームが必要とする基本的なネットワークテストを実行します。ツールを実行した後、Unity サポートチームと結果を共有でき、Unity サポートチームから問題を解決するためのアドバイスを受けられます。

Unity Package Manager Diagnostics は Unity Package Manager Error ダイアログによって、または手動で起動スクリプトを実行することによって行えます。

Diagnostics ツールが終了すると、テストの結果はシェルウィンドウに表示されます。また、 シェルウィンドウから開くことができるログファイルとレポートファイルにも書き込まれます。

シェルウィンドウのツールの上部にある Diagnostics (診断) レポート
シェルウィンドウのツールの上部にある Diagnostics (診断) レポート

Unity Package Manager Diagnostics を実行後、以下を行えます。

Unity Package Manager Error ダイアログから起動

Unity が起動しようとすると、プロジェクトをロードする前にパッケージマネージャー処理を開始します。Package Manager で重大なエラーが発生すると、Unity は以下のエラーメッセージを表示します。

重大なエラーのダイアログが表示され、アクションを促します
重大なエラーのダイアログが表示され、アクションを促します

診断ツールを実行するには、Diagnose をクリックしてください。Unity は診断ツールを閉じて新しいウィンドウで起動します。

スクリプトで起動

Unity のインストレーションフォルダーの Diagnostics フォルダーでスクリプトを探します。

オペレーティングシステム 診断コマンドラインツールへのパス
Windows <path-to-unity-installation-folder>
   \Unity
      \Data
         \Resources
            \PackageManager
               \Diagnostics
                  \RunUnityPackageManagerDiagnostics.bat
macOS
Linux
<path-to-unity-installation-folder>
   \Unity.app
      \Contents
         \Resources
            \PackageManager
               \Diagnostics
                  \RunUnityPackageManagerDiagnostics

ツールを起動するには、ファイルブラウザーでスクリプトファイルをダブルクリックするか、 コマンドラインから実行します。

ファイアウォールの設定

Unity Package Manager が HTTPS を使用して以下のドメイン名にアクセスできることを確認します。

  • packages.unity.com
  • download.packages.unity.com
  • upm-cdn.unity.com (中国内では、upm-cdn-china.unitychina.cn)

ファイアウォールの許可ドメインリストに上記のドメイン名を追加します。

プロキシサーバーの設定

プロキシサーバーを使用する場合は、Unity パッケージレジストリに対してリクエストを実行するときに Unity Package Manager が使用する HTTP_PROXY および HTTPS_PROXY 環境変数を設定します。

オペレーティングシステムに応じて、これらの変数 (システム変数またはユーザー変数) をグローバルに設定できます。あるいは、起動時に Unity Hub にのみ設定できます。

ファイアウォールに保護された環境では、自己署名証明書 の SSL 認証局を設定できます。

自己署名証明書

一部の企業や機関では、ユーザーはファイアウォールに保護されプロキシ経由でのみインターネットにアクセスできます。一部のプロキシは、HTTPS コンテンツを解凍し、独自の自己署名証明書を使って再度パックします。Unity Package Manager の根底にある HTTPS レイヤーはこれらの自己署名証明書を認識しないため拒否し、接続を中間者攻撃の可能性があるものとして扱います。つまり、追加の SSL 認証局を設定してこれらの証明書を許可しない限り、パッケージマネージャーを含む Unity の多くの機能を使用できません。

追加の SSL 認証局を設定するには、以下の手順を行います。

  1. 1 つ以上のカスタム認証局を使用してテキストファイルを作成します。ファイルは、Privacy-Enhanced Mail (PEM) 形式の 1 つ以上の信頼できる証明書で構成する必要があります。以下はその例です。

    -----BEGIN CERTIFICATE-----
    MIIC+zCCAeOgAwIBAgIJAO0U6hVJnbvjMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
    BAMMCWxvY2FsaG9zdDAeFw0xOTAzMTIwMTIxMzRaFw0yOTAzMDkwMTIxMzRaMBQx
    EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
    ggEBAKNh0EM7j57pXorGs5OHzlk9TYeUqITtXXdWfY1fbqRdj+a8qLNs4m/nDsDW
    KgibHYG3FUqIidjPL61DLQuWUPY9Zo+uQaccIe0E5wb+To9mwMlLuhMD6iCPFRpe
    jcDhNj4vG1RVARMO1jupeZqdb+xHBZqtmMJmtiDOBxt662Z4hvoH8mdqNEuSkozz
    HqXmcdigrTO37DspGRBx08GJlHFHUs7C+hYOsOdNjME3dH/8uihjKYiqQb1E12dN
    PNL7jYm3AZv+qUmDFM3BJE0hSmAP00GuTJxbe31Kh4e7N5/XSiLsnqwircOj/Hfi
    eWjtsoXbCNDIiWUQtXBeLD/BdvkCAwEAAaNQME4wHQYDVR0OBBYEFDFw8VDkgMne
    mDjgo+b1iaPfUkdVMB8GA1UdIwQYMBaAFDFw8VDkgMnemDjgo+b1iaPfUkdVMAwG
    A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFEjUWGz1r3xSsbwUJsRhbMc
    M7Jjf9/r833H7eq31mbl/JbXPnpo8IctMuWyw42ccMtgq7i+coQeKwvWnHtI5rhe
    vshEkIqNPAoCnpW5NLprYDDTG1PDEhv6FYpW8Alq65i03tptzaoHlH3sH+97E/h0
    qSYI7yNHWMC5u0r1DB0BR+lZsj6RnwWPySMSuXx5sSiKIS/HkkMVwwmxKa4ZwuwS
    LFwHSUdqk0lJK4b0mCwyTHNvYO1IDziE5EKwfuaKVgOa62iCHVahgIVa+een4EfS
    hCCr3M3cq11Mi+mnRi1scxxrOno4OEEChWg2szZLlxBrkVJllrrq620XJ6RLB/8=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
    b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
    EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
    cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
    MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
    JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
    mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
    wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
    VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
    AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
    AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
    BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
    pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
    dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
    fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
    NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
    H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
    +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
    -----END CERTIFICATE-----
    
  2. Unity はファイルシステムのすべての場所をサポートしていますが、可能であれば、このファイルを upm-config.json と同じ場所に置きます。

  3. システムレベルの Unity 設定フォルダーに upm-config.json という名前の空の JSON ファイルを作成します。

    • Windows: %ALLUSERSPROFILE%Unity/config
    • macOS: /Library/Application Support/Unity/config
    • Linux: /usr/share/unity3d/config
  4. upm-config.json ファイルで、caFile 属性を加えると、PEM ファイルの絶対パスを設定します。以下はその例です。

    {
      "caFile": "C:\\ProgramData\\Unity\\config\\cert.pem"
    }
    

Unity Hub の環境変数の設定

このセクションでは、Windows コマンドプロンプト または macOS か Linux ターミナル から実行できるコマンドファイルの作成について説明します。 あるいは、コマンドをコピーして、プロンプトウィンドウまたはターミナルウィンドウに直接貼り付けることもできます。

ノート: コマンドファイルを実行する前に、Hub を完全に終了してください。Hub が既に実行されていると、スクリプトは再起動せずに Hub にフォーカスを切り替えるため、変更されたプロキシ設定は適用されません。

Windows

以下の手順で、Windows にコマンドファイルを作成します。

このファイルは、環境変数が設定された状態で Hub を起動します。ファイルをダブルクリックするか、コマンドプロンプトから呼び出すことができます。Unity はこれらの環境変数を、Hub から起動した Unity エディターの処理に渡します。

  1. メモ帳などのテキストエディターを開きます。

  2. 以下のテキストを入力し、proxy-url を正しいプロキシサーバー URL に置き換え、必要に応じて Hub インストールパスを変更します。

    @echo off
    set HTTP_PROXY=proxy-url
    set HTTPS_PROXY=proxy-url
    start "" "C:\Program Files\Unity Hub\Unity Hub.exe"
        
    

    ノート: パスにスペースが含まれる場合は、パスを 2 重引用符 (") で囲む必要があります。

  3. ファイルを自分で容易に見つけられる場所 (例えば Desktop) に保存し、ファイルに .cmd 拡張子がついていることを確認します (例えば launchUnityHub.cmd)。

macOS

以下の手順で、macOS に launchUnityHub.command ファイルを作成します。

このファイルは、環境変数が設定された状態で Hub を起動します。ファイルをダブルクリックするか、Bash ターミナルから呼び出すことができます。Unity はこれらの環境変数を、Hub から起動した Unity エディターの処理に渡します。

ノート: コマンドファイルをダブルクリックすると、ターミナルウィンドウ、またはタブを開き、スクリプトが終わっても開いたままにします。 この動作を Terminal.app の設定で変更できます。

  1. ターミナルウィンドウ を起動します。

  2. 以下のテキストを入力し、proxy-url を正しいプロキシサーバー URL に置き換え、必要に応じて Hub インストールパスを変更します。

    echo '#!/bin/bash
    export HTTP_PROXY=proxy-url
    export HTTPS_PROXY=proxy-url
    nohup "/Applications/Unity Hub.app/Contents/MacOS/Unity Hub" &>/dev/null &' > launchUnityHub.command
    chmod +x launchUnityHub.command
    

    ノート: パスにスペースが含まれる場合は、パスを 2 重引用符 (") で囲む必要があります。

  3. 必要な場合は launchUnityHub.command ファイルを任意の場所 (例えば Desktop) に移動します。

トラブルシューティング
カスタムパッケージの作成