このセクションでは、以下の問題に関する情報を提供します。
Package Manager は、問題が発生すると Package Manager ウィンドウにエラーインジケーターを表示します。
ステータスバー に表示されるエラーメッセージは、Package Manager が特定のパッケージに関連しない問題を検出したことを示します。 たとえば、Package Manager が パッケージレジストリサーバー にアクセスできない場合、ステータスバーに以下のメッセージが表示されます。
ネットワークがパッケージレジストリサーバーにアクセスできない場合、おそらくネットワークとの接続に問題があるためです。ユーザーまたはシステム管理者が ネットワークエラーを修正 すると、ステータスバーがクリアされます。
ロードまたはインストール時に特定のパッケージに問題がある場合、エラーアイコン () がパッケージリスト 内の問題があるパッケージの隣に表示されます。問題が何であるかを調べるには、問題があるパッケージの 詳細ビュー を開きます。
package.manifest
ファイルの形式が正しくない場合、Unity コンソールに次のようなエラーが表示されます。
Failed to resolve packages: The file [<project-path>/Packages/manifest.json] is not valid JSON:
Unexpected token '}' at 44:1
}
エラーメッセージに含まれる情報を使用して、JSON を修正できます。問題を修正するために使用できるオンライン検証ツールがいくつかあります。修正したファイルを保存すると、Unity は Package Manager ウィンドウを再ロードします。
If your package.manifest
file is missing the reference to the com.unity.package-manager-ui package, you might not see any error messages in the console, and your packages might appear in the Project view, but you can’t open the Package Manager window because the Package Manager menu item does not appear in the Window menu. You can either reset your Project’s package configuration or add the following to the dependencies list:
"com.unity.package-manager-ui": "2.1.1",
Package Manager ウィンドウがまだ表示されない場合は、Unity を再起動してください。
それでも問題が解決しない場合は、Project マニフェストがパッケージバージョンとして “exclude” を使用していないかを確認してください。これは、依存関係 属性にとって非推奨の値です。このような行が見つかった場合は、行全体を削除してください。Package Manager は、プロジェクトに依存関係として明示的に含まれるパッケージのみをインストールするため、その登録を削除すると、Package Manager はパッケージを無視し、インストールしません。
それでも Package Manager の読み込みに失敗する場合は、パッケージが認識されない と プロジェクトのパッケージ設定のリセット の手順に従ってください。
プロジェクトを新しい Unity バージョンにアップグレードすると、Package Manager は、互換性のないパッケージを新しい互換バージョンに自動的に更新します。ただし、パッケージがコンパイルされない場合、Package Manager はコンソールにエラーメッセージを表示します。
これらのメッセージを修正するには、エラーメッセージを読み、可能な限り問題を修正します。たとえば、パッケージに別のパッケージまたはバージョンへの依存関係がない場合があります。その場合は、自身でパッケージをインストールしてみてください。
使用できるものが見つかるまで、以下の一連の解決法を試すこともできます。
Packages
フォルダーを削除します。Packages
フォルダー内のパッケージソースを削除し、 manifest.json
ファイルのみを残します。次に、プロジェクトを再読み込みしてください。Library/PackageCache/com.unity.package-manager-ui@<version>
folder in the failing Project with the same folder from the newly created Project.レジストリから新しいパッケージをインストールしようとしても機能しない場合は、許可の問題が原因である可能性があります。
キャッシュフォルダーに対する完全な許可が必要です。
C:\Users\yourname\AppData\Local\Unity\cache
~/Users/Library/Unity/cache
ネットワークに問題がある可能性があります。 ファイアウォール と プロキシ の設定を確認してください。
学校、官公庁、またはネットワークで保護された職場などの組織環境では、プロキシサーバーを設定してネットワークとインターネット間のトラフィックを制御しているために、Unity または Package Manager で認識されない独自のサーバー証明書を使用する場合があります。 ネットワーク管理者に相談してください。
多くのコンパイルエラーが表示される場合、Unity が既存のプロジェクトのパッケージを認識していないことを示している可能性があります。この場合、.NET コンポーネントが欠落している可能性があります。
Windows の場合
MacOS の場合
.NET SDK v2.2.101 コンポーネントをダウンロードしてインストールします。
推奨される更新プログラムを Visual Studio にインストールします。
Homebrew を使用して、mono を作成してインストールします。
brew update
brew install mono # optional
brew upgrade mono
必要な場合は、Project 以下の Library/obj/temp
フォルダーを削除し、 Unity を再起動します。
それでも、問題が解決しない場合は、コンピューターも再起動します。
コンソールが hostfxr.dll
ライブラリが見つかったが、Unity が C:\<path_to_app>\hostfxr.dll
からのロードに失敗したと報告した場合、Windows 7 または Windows Server 2008 R2 では KB2999226 と KB2533623 の両パッチをインストールすることでこのエラーを修正できます。
プロジェクトのパッケージの問題が多すぎる場合は、プロジェクトをリセットして、Unity のエディターバージョンの デフォルトのパッケージ設定 に戻すことができます。この操作により、プロジェクト内のすべてのパッケージがリセットされます。 これによって問題の原因を修正することはできないかもしれませんが、問題が何であるかを理解するのに役立ちます。
ノート パッケージ設定のリセットを取り消すことはできません。そのため、最初に manifest.json
ファイルをバックアップするか、プロジェクトがソース管理下にあることを確認してください。また、先に進む前に、プロジェクトの複製 を作成し、クローンの操作をテストすることで、追加の予防措置を講じることができます。
デフォルトのパッケージ設定に戻すには、 Help メニューから Reset Packages to defaults を選択します。
最終的な変更を実行する前に、デフォルトパッケージへ戻すことをテストすることもできます。
Project フォルダーをコピーし、名前を変更して見つけやすくします (例えば、プロジェクトの名前が MyProject
の場合、clone_MyProject
などを使用します)。
新しく複製として作られたプロジェクトをロードします。
Help メニューから、Reset Packages to defaults を選択します。
プロジェクトのサイズによっては、数分かかる場合があります。
パッケージが正常にリセットされたことを確認します。正常にリセットされれば、元のプロジェクトで安全に操作を実行できます。
SSH プロトコルを使用して Git URL でパッケージをインストール する場合、バックグラウンドで ssh-agent を実行していて、PID 環境変数が適切に設定されていても、Git から認証エラーを受け取る場合があります。
スクリプトがバックグラウンドで ssh-agent を起動する際、エクスポートされた環境変数が有効なのは、現在スクリプトが走る Bash シェルとその地点から起動する子プロセスのみです。なぜなら、スクリプトは親プロセス、無関係のプロセス、作成済みの子プロセスの環境変数を変更できないからです。仮にスクリプトが .bashrc
に位置していたとしても、Bash シェルで実行されてしまうでしょう。
Unity アイコンをダブルクリック、または、Unity Hub を使用して Unity または Unity Hub (Windows と macOS の両方) を起動してもシェルで実行されないため、スクリプトは実行されません。つまり、Unity Editor の処理にはこれらの変数が設定されていないため、最終的に Unity によって呼び出される Git 処理にもこれらの変数は含まれません。
この問題を解決するには、以下のいずれかを実行できます。
# Expose env variables to native windows
setx SSH_AGENT_PID "$SSH_AGENT_PID"
setx SSH_AUTH_SOCK "$SSH_AUTH_SOCK"