Visual Studio は Unity WebGL コンテンツのデバッグをサポートしません。ビルド情報を取得するには、以下のヒントを参考にしてしてください。
Unity WebGL はファイルシステムにアクセスできないため、他のプラットフォームのようにログファイルを作成することはありません。ただし、すべてのログ情報 (Debug.Log
、Console.WriteLine
、Unity の内部ログなど) はブラウザーの JavaScript コンソールに記録されます。
JavaScript コンソールを開くには、以下の手順を行います。
For debugging purposes, you might want to make a development build in Unity (open the Build Settings window and enabled the Development Build checkbox). Development builds allow you to connect the profiler, and Unity doesn’t minify them, so the emitted JavaScript code still contains human-readable (though C++-mangled) function names.
The browser uses these to display stack traces if you run into a browser error, when using Debug.LogError, or when an exception occurs and exception support is disabled
. Unlike the managed stack traces that can occur when you have full exception support, these stack traces have mangled names, and contain not only managed code, but also the internal UnityEngine code.
WebGL has different levels of exception support, but by default, Unity WebGL only supports explicitly thrown exceptions. For more information, refer to Build your WebGL application. You can enable Full exception support, which emits additional checks in the IL2CPP-generated code, to catch access to null references and out-of-bounds array elements in your managed code. These additional checks significantly impact performance and increase code size and load times, so you must only use it for debugging.
Full の例外サポートは、マネージコードのスタックトレースを生成するための関数名も出力します。このため、スタックトレースは、キャッチできない例外と Debug.Log
ステートメントのためのコンソールに表示されます。スタックトレース文字列を取得するには System.Environment.Stacktrace
を使用します。
This is a common problem, especially on 32-bit browsers. For more information on WebGL memory issues and how to fix them, refer to the documentation on Memory in Unity WebGL.
ブラウザーのコンソールログは、通常、不適切なサーバー設定によってこのエラーを出力します。リリースビルドを展開する方法の詳細は、WebGL - 圧縮ビルドの展開 を参照してください。
コンテンツが LZMA (Unity WebGL はこれをサポートしていません) を使用して圧縮された AssetBundle をロードしようとすると、ブラウザーコンソールログはこのエラーを出力します。この問題を解決するには、LZ4 圧縮を使用して AssetBundle を再圧縮します。WebGL の圧縮の詳細は、WebGL アプリケーションのビルド、特に AssetBundles セクションを参照してください。