概要
WebGLPlayerでマルチスレッドを有効にする為に下記の条件を全て満たす必要があります。
- PlayerSettings.WebGL.threadsSupportをtrueに設定する
- WebGLPlayerを出力するが実行するブラウザー側も WebAssembly threadsに対応している
- マルチスレッドに対応しているUnityのバージョンでビルドする
但し、C#のレイヤーでマルチスレッドに対応している訳ではなく、ネイティブ言語のレイヤーでのサポートである事に注意して下さい。
WebAssembly threadsに対応しているブラウザーについて
ブラウザーの対応状況はこちらから確認可能です。メジャーなブラウザーは全て対応済みとなっています。
マルチスレッドに対応しているUnityのバージョン
全てのUnityのバージョンでマルチスレッドに対応している訳ではありません。 下記の表のとおり、ある期間においてWebGLが非対応となっています。
Unity | 対応状況 |
---|---|
2019.4 | experimental |
2020.1 ~ 2022.1 | × |
2022.2 ~2023.1 | experimental |
2023.2 ~ | 〇 |
実験的機能について
Unity2023.1迄はスクリプトリファレンスにexperimentalの記載がありましたが、Unity2023.2ではその記述が外れています。 WebGLでマルチスレッドを有効にする場合は、Unity2023.2以降を利用した方が良さそうです。
以上となります。