Version: 2021.1
Local folder or tarball paths
ネットワーク問題

トラブルシューティング

このセクションでは、以下の問題に関する情報を提供します。

Type of error: Error message:
General startup issues - Error messages in the Package Manager window
- Package Manager missing or window doesn’t open
- Problems after upgrading Unity to new version
- Resetting your project’s package configuration
Package installation issues - Package installation fails
- Packages not recognized
Problems installing git dependencies - No ‘git’ executable was found
- git-lfs: command not found
- Repository not found
- Could not read Username: terminal prompts disabled
- Can’t update Git version
Asset Store packages (My Assets) - ‘Failed to parse Http response’ in My Assets context
Scoped registries - Missing ‘My Registries’ in the Package Manager window
Issues when building packages - Missing MonoBehaviour errors
- Loading error for hostfxr.dll on Windows

ネットワーク関連の問題が発生する場合は、Unity Package Manager Diagnostics (診断) ツールを実行することもできます。詳細は、 ネットワークの問題を参照してください。


Package Manager ウィンドウのエラーメッセージ

Package Manager は、問題が発生すると Package Manager ウィンドウにエラーインジケーターを表示します。

  • System-wide issues (システム全体の問題)

    Error messages that appear in the status bar indicate the Package Manager has detected an issue that is not related to a specific package. For example, if the Package Manager cannot access the package registry server, it displays this message in the status bar:

    ネットワークエラーメッセージ
    ネットワークエラーメッセージ

    ネットワークがパッケージレジストリサーバーにアクセスできない場合、それはおそらくネットワークとの接続に問題があるためです。ユーザーまたはシステム管理者がネットワークエラーを修正すると、ステータスバーがクリアされます。

    If your network connection is working, but you are not signed into your Unity account, the Package Manager doesn’t display any Asset Store packages. When you try to use the My Assets context, the Package Manager displays an error in the status bar:

    Unity アカウントからログアウトした状態
    Unity アカウントからログアウトした状態

    リストビューSign in ボタンをクリックして Unity Hub を通して Unity アカウントにサインインします。

  • Package-specific issues (パッケージ特有の問題)

    ロードまたはインストール時に特定のパッケージに問題がある場合 (例えば、どのバージョンのパッケージをロードするかを決定する場合)、エラーアイコン () がパッケージリスト の問題があるパッケージの隣に表示されます (A) 。問題が何であるかを調べるには、問題があるパッケージの詳細ビューを開きます (B)

    依存関係エラーメッセージ
    依存関係エラーメッセージ


Missing MonoBehaviour errors

While building, if there are a lot of errors about Missing Behavior, the UnityLinker might be mistakenly stripping out a component that it thinks is unreferenced. It often does this because the stripping level is too aggressive. For example, if you have a prefab in an AssetBundle that references the SpriteShape component in the 2D SpriteShape package, the object might be missing and might generate compiler warnings.

To fix this, you can either lower the stripping level for the UnityLinker or declare the package’s assemblies inside the link.xml file in order to preserve them from being stripped:

<linker>
    <assembly fullname="Unity.2D.SpriteShape.Runtime" preserve="all"/>
    <assembly fullname="Unity.2D.Common.Runtime" preserve="all"/>
 </linker>

For more information on stripping levels and the UnityLinker, see Managed code stripping.


Package Manager が見つからない、またはウィンドウが開かない

The Package Manager window might get moved offscreen or hidden by another window. When this happens, it looks like the Package Manager window failed to open. In this case, you can try to reset the window layout (Window > Layouts > Default) and reopen the Package Manager window again.

If the Package Manager window still doesn’t appear, check your Unity Console window:

Failed to resolve packages: The file [<project-path>/Packages/manifest.json] is not valid JSON:
  Unexpected token '}' at 44:1
  }

This error message indicates that your manifest.json file is malformed. It also tells you the line number where the Package Manager failed to parse the file, so you can fix the JSON. There are a number of online validators that you can use to try to correct the problem. Once you save the corrected file, Unity reloads the Package Manager window.

If you upgraded from an early version of the Unity Editor, there may be other problems with your package manifest file:

  • As of 2019.3, your manifest.json file should not contain any references to the com.unity.package-manager-ui package. You can either reset your project’s package configuration or remove the following line from the manifest’s dependencies list:

        "com.unity.package-manager-ui": "2.1.1",
    
  • Check to see if your project manifest uses “exclude” as a package version. This is an obsolete value for the dependencies property. If you find any lines like these, remove the entire line. Package Manager only installs packages that are explicitly included as a dependency in your project, so once you remove that entry, Package Manager ignores the package and doesn’t install it.

それでも Package Manager の読み込みに失敗する場合は、パッケージが認識されないプロジェクトのパッケージ設定のリセットの手順に従ってください。


Unity を新しいバージョンにアップグレードした後に問題が発生する

プロジェクトを新しい Unity バージョンにアップグレードすると、Package Manager は、互換性のないパッケージを新しい互換バージョンに自動的に更新します。ただし、Unity がパッケージをコンパイルできない場合、Package Manager はコンソールにエラーメッセージを表示します。

これらのメッセージを修正するには、エラーメッセージを読み、可能な限り問題を修正します。たとえば、パッケージに別のパッケージまたはバージョンへの依存関係がない場合があります。その場合は、自身でパッケージをインストールしてみてください。

使用できるものが見つかるまで、以下の一連の解決法を試すこともできます。

  • バックアップして、プロジェクトの下の Packages フォルダーを削除します。
  • バックアップしてから、プロジェクトの Packages フォルダー内のパッケージソースを削除し、manifest.json ファイルのみを残します。次に、プロジェクトを再ロードしてください。
  • 新しい空のプロジェクトを作成します。Package Manager ウィンドウが正常に起動したら、失敗したプロジェクトの Library/PackageCache/com.unity.package-manager-ui@<version> フォルダーを、新しく作成したプロジェクトの同じフォルダーと置き換えます。
  • 最後の手段として、プロジェクトをデフォルトのパッケージ設定にリセットし、動作するまでパッケージを 1 つずつ加えてゆきます。


パッケージのインストールが失敗する

レジストリから新しいパッケージをインストールしようとしても機能しない場合は、許可の問題が原因である可能性があります。

キャッシュフォルダーに対する完全な許可が必要です。

  • Windows: C:\Users\yourname\AppData\Local\Unity\cache
  • MacOS: ~/Users/Library/Unity/cache

It might be a problem with the network. Check your firewall and proxy settings.

学校、官公庁、またはネットワークで保護された職場などの組織環境では、プロキシサーバーを設定してネットワークとインターネット間のトラフィックを制御しているために、Unity または Package Manager で認識されない独自のサーバー証明書を使用する場合があります。 ネットワーク管理者に相談してください。


パッケージが認識されない

多くのコンパイルエラーが表示される場合、Unity が既存のプロジェクトのパッケージを認識していないことを示している可能性があります。この場合、.NET コンポーネントが欠落している可能性があります。

Windows の場合

  1. Visual Studio 2017 version 15.9.0 以降と、Other Toolsets (他のツールセット) で選択した .NET Core cross-platform development workload (.NET Core クロスプラットフォームの開発) と一緒に、ダウンロードしてインストールします。 .NET SDK v2.2.101 コンポーネントをダウンロードしてインストールします。

MacOS の場合

  1. .NET SDK v2.2.101 コンポーネントをダウンロードしてインストールします。

  2. 推奨される更新プログラムを Visual Studio にインストールします。

  3. Homebrew を使用して、mono を作成してインストールします。

    brew update
    brew install mono # optional
    brew upgrade mono
    
  4. 必要な場合は、プロジェクトの Library/obj/temp フォルダーを削除し、Unity を再起動します。

  5. それでも、問題が解決しない場合は、コンピューターも再起動します。


Windows 上の hostfxr.dll の読み込みエラー

コンソールが hostfxr.dll ライブラリが見つかったが、Unity が C:\<path_to_app>\hostfxr.dll からのロードに失敗したと報告した場合、Windows 7 または Windows Server 2008 R2 では KB2999226KB2533623 の両パッチをインストールすることでこのエラーを修正できます。


プロジェクトのパッケージ設定のリセット

プロジェクトのパッケージの問題が多すぎる場合は、プロジェクトをリセットして、Unity のエディターバージョンのデフォルトのパッケージ設定に戻すことができます。この操作により、プロジェクト内のすべてのパッケージがリセットされます。これによって問題の原因を修正することはできないかもしれませんが、問題が何であるかを理解するのに役立ちます。

ノート: パッケージ設定のリセットを取り消すことはできません。そのため、最初に manifest.json ファイルをバックアップするか、プロジェクトがソース管理下にあることを確認してください。また、先に進む前にプロジェクトの複製を作成し、クローンの操作をテストすることで、追加の予防措置を取ることができます。

デフォルトのパッケージ設定に戻すには、Help メニューから Reset Packages to defaults を選択します。

Help > Reset Packages to defaults
Help > Reset Packages to defaults


プロジェクトの複製のリセット

最終的な変更を実行する前に、デフォルトパッケージへ戻すことをテストすることもできます。

  1. プロジェクトフォルダーをコピーし、名前を変更して見つけやすくします (例えば、プロジェクトの名前が MyProject の場合、clone_MyProject などを使用します)。

  2. 新しくコピーして作られたプロジェクトをロードします。

  3. Help メニューから、Reset Packages to defaults を選択します。

    プロジェクトのサイズによっては、数分かかる場合があります。

  4. パッケージが正常にリセットされたことを確認します。正常にリセットされれば、元のプロジェクトで安全に操作を実行できます。


No ‘git’ executable was found

If you try to install a package from a git URL, a message similar to this appears:

Cannot perform upm operation: Unable to add package
[https://github.example.com/myuser/myrepository.git]:
No 'git' executable was found. Please install Git on your system and restart Unity [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()


git-lfs: command not found

If you are trying to download a package that uses Git LFS (Large File Storage), you might see this error message:

Error when executing git command. git-lfs filter-process: command not found.

This indicates that Git LFS is probably not installed on your machine. To make sure, you could test it on the command line:

git lfs --version

If you see something like this, Git LFS is installed:

git-lfs/2.8.0 (GitHub; darwin amd64; go 1.12.7)

Otherwise, you can install it by following the Bitbucket GitHub instructions.


Repository not found

存在しない場所を指定すると、Unity コンソールに以下のようなメッセージが表示されます。

Cannot perform upm operation: Unable to add package [https://mycompany.github.com/gitproject/com.mycompany.mypackage.git]:
  Error when executing git command. fatal: repository 'https://mycompany.github.com/gitproject/com.mycompany.mypackage.git/' not found
 [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)

入力を確認してください。正しい URL を使用していることを確認するには、リポジトリのページに移動し、Clone ボタンから URL をコピーします 。

GitHub (A) か GitLab (B) で URL をコピー
GitHub (A) か GitLab (B) で URL をコピー

GitHub (A) または GitLab (B) の URL の右にあるボタンをクリックして、URL をクリップボードにコピーします。

If the location of the repository is correct, there may be another problem with the URL:

  • If you are targeting a specific revision, make sure your revision comes last. For example:
    https://github.example.com/myuser/myrepository1.git#revision
  • If you are targeting a revision and the package is not at the root, make sure the path query parameter precedes the revision anchor. For example:
    https://github.example.com/myuser/myrepository.git?path=/example/folder#v1.2.3


Could not read Username: terminal prompts disabled

認証を必要とするプライベートリポジトリからパッケージをインストールしようとすると、Unity コンソールに以下のようなメッセージが表示されます。

Cannot perform upm operation: Unable to add package [https://mycompany.github.com/gitproject/com.mycompany.mypackage.git]:
  Error when executing git command. fatal: could not read Username for 'https://mycompany.github.com': terminal prompts disabled
 [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)

This message is likely due to the fact that Package Manager does not provide an interactive terminal or dialog where you can enter your username and password for HTTP, or your passphrase to unlock your SSH key:

  • With HTTP(S), every time you log onto BitBucket, GitHub or GitLab you need to enter your username and password in a terminal or a dialog box. However, the Package Manager does not provide an interactive terminal or dialog where you can enter your username and password for HTTP(S).

    To bypass this, use one of the workarounds suggested in Solutions for HTTPS.

  • SSH uses a pair of public and private SSH keys. You can add your public SSH key to Bitbucket, GitHub or GitLab and then access repositories without having to enter a username and password.

    However, if you have set up a passphrase to keep your SSH key safe, you still have to enter that passphrase in a terminal or a dialog box in order to authorize your key. In that case, you can use an SSH agent that can unlock your SSH key to authenticate with the Package Manager on your behalf.


Solutions for HTTPS

The Package Manager does not provide an interactive terminal or dialog where you can enter your HTTP(S) username and password. To bypass this, use one of these workarounds:

  • Use a credential manager (Git Credential Manager for Windows or OSXKeyChain). Credential managers handle sending the password without having to use a terminal or a command prompt.
  • ターミナルやコマンドプロンプトから git-credentials を使用します。次に、同じターミナルからハブを起動して、Unity がキャッシュされた、または保存された認証情報にアクセスできるようにします。
  • Use SSH to authenticate instead. If you set up your SSH key without a passphrase, the Package Manager doesn’t have to decrypt it in order to authenticate with the Git server. If you decide to use a passphrase for added security, you can still get around the authentication problem by using the ssh-agent on either macOS or Windows.


Solutions for SSH

If you are using the SSH protocol to install a package by Git URL, you might get an authentication error from Git. This typically happens when you set up a private SSH key on your local machine that is protected by a passphrase.

The solution to this problem is to set up an SSH agent that can unlock your SSH key to authenticate with the Package Manager on your behalf. Follow the instructions in the section that corresponds to your operating system:


Setting up OpenSSH for Windows

The native Windows OpenSSH version of the ssh-agent works better than the version available by default with Git for Windows. This procedure explains how to set up the OpenSSH client and add your key to its ssh-agent. If you are using Git for Windows, you can also prioritize the native Windows OpenSSH over the Git for Windows SSH agent:

  1. Make sure the OpenSSH Client is installed by searching for it in the Windows Settings Optional features window (Start > Settings, then search for “Optional features”). This applies to Windows 10+.

  2. Check your %PATH% environment variable to make sure the native Windows OpenSSH location appears (for example, C:\WINDOWS\System32\OpenSSH\).

    Note: If you are already using Git for Windows, make sure the native Windows OpenSSH location appears before the Git for Windows SSH location in your %PATH% variable. This ensures that Windows uses the native Windows OpenSSH agent over the Git for Windows SSH agent.

  3. In a PowerShell terminal, start the ssh-agent process and make sure it starts automatically:

    # Set the ssh-agent service to start automatically and manually start it now
    Get-Service ssh-agent | Set-Service -StartupType Automatic
    # Run the ssh-agent process to start the ssh-agent service
    ssh-agent
    
  4. Import your key into the ssh-agent by running ssh-add on the command line and then following the instructions. By default, the agent adds the %USERPROFILE%\.ssh\id_rsa key and prompts you for the password.

    # Import the key
    ssh-add
    

    To use a different key, you can specify it as an argument:

    # Set the ssh-agent service to start automatically and manually start it now
    ssh-add <your-secure-ssh-key-name>
    

    If you can’t remember the name of your key, you can ask the agent to list them:

    ssh-add -l
    
  5. If you installed Git for Windows, reset the %GIT-SSH% environment variable to make sure that Git always uses the native Windows OpenSSH version of the ssh-agent:

    [Environment]::SetEnvironmentVariable("GIT_SSH", "$((Get-Command ssh).Source)", [System.EnvironmentVariableTarget]::User)
    


Adding SSH keys to your SSH Agent for macOS

Use the following command to add your SSH keys to the ssh-agent running on your macOS system:

ssh-add -K ~/.ssh/<your-secure-ssh-key-name>

After you run this command, the terminal asks for the password to unlock your SSH key and then adds it to the macOS keychain. However, once you restart your system, every key stored in the ssh-agent is reset.

To prevent re-entering your password after restarting your system, open the ~/.ssh/config file (or create one if you don’t find it), and add the following:

Host *
    UseKeychain yes
    AddKeysToAgent yes
    IdentityFile ~/.ssh/<your-secure-ssh-key-name>

Restart your machine to apply these changes.


Can’t update Git version

If you are trying to update your Git dependency to a newer version from the repository, but it’s not working, it’s probably because your Git dependency is locked. If you want to update your Git dependency to a newer version from the repository, use the Add package from git URL button and enter a Git URL. For more information, see Locked Git dependencies.


Missing ‘My Registries’ in the Package Manager window

Not all registry providers are compatible with Unity’s Package Manager. If the package registry server you added does not implement the /-/v1/search or /-/all endpoints, your scoped registry is not compatible with Unity’s Package Manager, and doesn’t appear in the My Registries context in the Package Manager window.


‘Failed to parse Http response’ in My Assets context

If you see the following message in the Console window when trying to download an Asset Store package, there might be a problem with your Asset Store cache:

[PackageManager] Error Failed to parse response. UnityEditor.AsyncHTTPClient![:D](https://forum.unity.com/styles/default/xenforo/clear.png)one(State, Int32)

To solve this problem, delete all downloaded assets from the Asset Store package directory and then try downloading the assets again.

Warning: If your project contains a lot of asset data, this might take a lot of time and bandwidth to re-download everything.

Local folder or tarball paths
ネットワーク問題