0 支持
(120 ポイント)

サンプルのチャットアプリやクイックスタートのプログラムによるチャットアプリを動かそうと思ったのですが、プレイヤー名のテキストボックスに文字を入力したタイミングで以下のようなエラーメッセージが出てテキストボックスに入力ができません。

最小コードも試してみたのですが、MonobitNetwork.playerNameになにかしらの文字列を代入したときに同様の例外が発生するようです。

DllNotFoundException: mrs assembly:<unknown assembly> type:<unknown type> member:(null)

Mrs.mrs_set_log_callback (Mrs+MrsLogOutputCallback callback)

Mrs..cctor ()

Rethrow as TypeInitializationException: The type initializer for 'Mrs' threw an exception.

mun.MunClientSessionToProxyServer.Send_Master_UpdatePlayerName (System.Boolean isReliable, System.Boolean isEncrypt, mun.STREAM.MasterUpdatePlayerNameRequest& request)

A.K.b (System.String )

MonobitEngineBase.MonobitNetwork.set_playerName (System.String value)

MonobitEngine.MonobitPlayer.set_name (System.String value)

A.K.b (System.String )

MonobitEngineBase.MonobitNetwork.set_playerName (System.String value)

SimpleChat.OnGUI () (at Assets/Monobit Unity Networking/Samples/Scripts/SimpleChat/SimpleChat.cs:124)

動作環境は

OS: MacOS Ventura 13.2.1

CPU: Apple M1

Unity 2022.3

Mun 2.9.0

です。対策法をご教授いただけると幸いです。

回答 1

0 支持
(3.9k ポイント)
編集
自分の環境(MacOS Sonoma, Apple M2以外は同一環境)では問題なく動作しています。

動作しない原因として、2つの原因が考えられます。

1) もっとも考えられる要因として、Macの標準セキュリティによりMRSライブラリがブロックされている可能性が高い。これに対処するためには下記リンクにもある通り、Macのセキュリティ設定からmrs.bundleの利用を許可する設定を行えばよい。
https://www.monobitengine.com/doc/mun/contents/Platform/Build_Mac.htm#MacOSX%20%E7%89%88%E3%81%A7mrs.bundle%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%A2%E3%83%A9%E3%83%BC%E3%83%88%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%9F%E5%A0%B4%E5%90%88%E3%80%81%E5%88%A9%E7%94%A8%E3%82%92%E8%A8%B1%E5%8F%AF%E3%81%99%E3%82%8B

2) 上記1で解決しない場合、下記リンク内の動作要件にも記載されている通り MUN 2.9.0 はIntelベースのCPUのみ動作の対象としているため、AppleM1のネイティブ環境の場合MRSライブラリが正常に読み取れない。
https://www.monobitengine.com/doc/mun/contents/Introduction/RequirementClient.htm
これに対処するには、UnityのビルドアーキテクチャをIntel x64に設定しRosettaモードにて動作させるようにすればよい。
...