unityでいってみよう!

unityがチョットワカル位の人のブログ

WebGL Playerのマルチスレッド対応状況を調べてみよう!

概要

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以降を利用した方が良さそうです。

以上となります。