0 支持
(190 ポイント)
MUN技術情報ページのWebGLビルド設定を参考に、WebGLビルドしたところ

Monobit通信が始まるところでエラーが出てしまい正常に動作しません。

原因と対策方法をご存じの方がいらっしゃればご教授いただければ幸いです。

エラー文
An error occurred running the Unity content on this page. See your browser JavaScript console for more info. The error was:
ReferenceError: Runtime is not defined

開発環境
Windows 10 Pro
Unity2021.3.4f1
MUNVer2.9.0
Google ChromeまたはMicrosoft Edge(どちらも同様のエラーが出ます)
モノビットエンジンクラウド
Websocket通信

回答 1

0 支持
(4k ポイント)
選択
 
ベストアンサー

"ReferenceError: Runtime is not defined" のメッセージ通りですが、Unityのバージョンアップに伴い、WebGLビルド環境において仕様変更がなされており、.jslib内でのRuntimeオブジェクトが廃止されていることに起因するものです。

簡易的な解決策としては Assets/Plugins/Monobit/mrs.jslib をテキストエディタなどで開き、

 "Runtime.dynCall" と記載されている箇所をすべて "dynCall" に置き換える("Runtime."を削除する)

ことで動作できるはずです。MUN2.9.0では該当箇所がmrs.jslibの114行目, 605行目, 616行目, 626行目, 634行目にあります。

(4k ポイント)
恒久的な解決策としては以下のように Module.dynCall 形式に置き換えた方が良いかもしれません(面倒でなければ、ですが)

 Runtime.dynCall( "vii", 〇〇, [△△, □□] );
   ⇒ Module.dynCall_vii( 〇〇, △△, □□ );

 Runtime.dynCall( "viiiiiii", 〇〇, [△△, □□, ●●, ▲▲, ■■, ◎◎] );
   ⇒ Module.dynCall_viiiiiii( 〇〇, △△, □□, ●●, ▲▲, ■■, ◎◎ );

 Runtime.dynCall( "viii", 〇〇, [△△, □□, ●●] );
   ⇒ Module.dynCall_viii( 〇〇, △△, □□, ●● );
(190 ポイント)
ご回答ありがとうございます。

コメントいただいた恒久的な解決策の方を実践したところ、無事にWebGLビルドでMonobitを使うことが出来ました。

丁寧に解説と解決策を書いていただき誠にありがとうございます。
...