このセクションでは、WebGL を使用したアプリケーションの構築に必要なプラットフォームサポートの概要と、その他の有用な技術的情報を提供します。
ほとんどの一般的なデスクトップ用ブラウザーは Unity WebGL コンテンツをサポートしていますが、ブラウザによって サポートのレベルが異なる ことに注意してください。例えば、Unity WebGL はモバイルデバイスをサポートしていません。
WebGL ビルドにおける以下の機能は、プラットフォーム自体の制約により、利用できないか、または制限されています。
WebGL ビルドの Visual Studio でのデバッグ。詳しくは WebGL ビルドのデバッグとトラブルシューティング を参照してください。
WebGL ビルドは Unity Cache と Caching スクリプティング API をサポートしていません。これは、ブラウザーのファイルシステムへのアクセスが制限されているためです。アセットデータとアセットバンドルへのネットワークリクエストは、代わりにブラウザーキャッシュにキャッシュされます。WebGL のキャッシュ動作 を参照してください。
スレッドは、JavaScript にスレッドサポートがないためサポートされていません。これは、パフォーマンス向上のための Unity の内部的なスレッド使用と、スクリプトコードやマネージ DLL でのスレッド使用の両方に当てはまります。基本的に、System.Threading
名前空間内の要素は使用できないことになります。
セキュリティ上の懸念から、ブラウザーは、ネットワーキング用の IP ソケットへの直接のアクセスを許可しません。WebGL のネットワーキング を参照してください。
OpenGL ES グラフィックスライブラリの機能に基づく WebGL グラフィックス API の制限があります。WebGL のグラフィックス を参照してください。
WebGL ビルドは、Web Audio API に基づいてオーティオにカスタムバックエンドを使用しますが、これは基本的なオーディオ機能しかサポートしません。WebGL のオーディオ を参照してください。
WebGL は AOT プラットフォームです。そのため、System.Reflection.Emit
を使用した動的コード生成は使用できません。これは、他の全ての IL2CPP プラットフォームや、iOS、およびほとんどのコンソールでも同様です。