tanaka's Programming Memo

プログラミングについてのメモ。

Unity2020.1のWebGLでwasm streaming compile failedが出る

WebGLでビルドしたプロジェクトを実行しようとしたところ以下のようなエラーが出ました。

wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'

解決策

Unity側の不具合っぽいのですが、現状ではPlayer SettingsName Files As Hashesオプションを解除することで直せました。

  • EditメニューからProject Settingsを開いて、Playerを選びます
  • WebGL settingsタブのPublishing Settings欄にあるName Files As Hashesのチェックを外します

f:id:am1tanaka:20201107112414p:plain
Name Files As Hashesを外す

Unity Issue Trackerによると、Unity2020.2で解決予定だそうです。

Unity Issue Tracker - [WebGL] "wasm streaming compile failed" browser errors occur when launching any Unity project on a server

原因

Unity Issue Trackerによると、WebAssemblyモジュールにContent-Type: application/wasm .wasmJavaScriptフレームワークコードにContent-Type: application/javascript .jsをサーバーが返さないことが原因とのことです。

試しに.htaccessファイルで.wasmの設定を追加したらこのエラーは治ったのですが、他のエラーが出たので一先ず解決策の方法で対応しました。