Version: 2023.1
言語: 日本語
WebGL のパフォーマンスに関する考慮事項
WebGL アプリケーションのビルドと配信

Debug and troubleshoot WebGL builds

Visual Studio doesn’t support debugging Unity WebGL content. Use the following tips to get your build information.

Browser’s JavaScript console

Unity WebGL doesn’t have access to your file system, so it doesn’t write a log file like other platforms. However, it does write all logging information such as Debug.Log, Console.WriteLine or Unity’s internal logging to the browser’s JavaScript console.

JavaScript コンソールを開くには、以下の手順を行います。

  • Firefox では、Ctrl-Shift-K (Windows)、または Command-Option-K (Mac) を押します。
  • Chrome では、Ctrl-Shift-J (Windows)、または Command-Option-J (Mac) を押します。
  • Safari では、Preferences > Advanced > Develop の順に移動し、Command-Option-C を押します。
  • Microsoft Edge または Internet Explorer で、F12 を押します。

開発ビルド

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.

エラーメッセージ: Incorrect header check (誤ったヘッダーチェック)

The browser console log usually prints this error due to incorrect server configuration. For more information on how to deploy a release build, refer to documentation on Deploying compressed builds.

Error message: Decompressing this format (1) isn’t supported on this platform

The browser console log prints this error when the content tries to load an AssetBundle compressed using LZMA, which Unity WebGL doesn’t support. Re-compress the AssetBundle using LZ4 compression to solve this problem. For more information on compression for WebGL, refer to documentation on WebGL building, particularly the AssetBundles section.

WebGL のパフォーマンスに関する考慮事項
WebGL アプリケーションのビルドと配信