前提
- Monobit Unity Networking 2.0(MUN)とは?
- 導入方法は?
現在の状態
- 自前のUnityプロジェクト作成済み
- MUN のプロジェクトへの導入も終わっている
Windowsビルドして動作確認しようとしたらエラーがでる
MUN ver.2.4.1.1導入前は普通にビルドできてたのに、導入後からビルドできなくなった。
ビルド時に発生したエラー
Plugin 'mrs.dll' is used from several locations:
Assets/Plugins/x86_64/mrs.dll would be copied to <PluginPath>/mrs.dll
Assets/Plugins/x86/mrs.dll would be copied to <PluginPath>/mrs.dll
Please fix plugin settings and try again.
UnityEditor.Modules.DefaultPluginImporterExtension:CheckFileCollisions(String)
UnityEditorInternal.PluginsHelper:CheckFileCollisions(BuildTarget) (at C:/buildslave/unity/build/Editor/Mono/Plugins/PluginsHelper.cs:25)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
原因
Windowsビルドの場合、下記の複数の場所にmrs.dllがあり、
どちらも有効なのでどっち使っていいかわからない状態のようだ。
Assets/Plugins/x86/mrs.dll
Assets/Plugins/x86_64/mrs.dll
解決方法
それぞれ32bit・64bitのビルド時に使い分ける必要があるようなので、
それぞれの環境でのみ有効になるよう設定を変更する。
- Project ウィンドウから Assets/Plugins/x86_64/mrs.dll を選択
- Inspector ウィンドウの Platform settings にて [↓]アイコンのタブを選択
-
x86のチェックをOffx86_x64のチェックをOnにした状態にしてApply - Project ウィンドウから Assets/Plugins/x86/mrs.dll を選択
- Inspector ウィンドウの Platform settings にて [↓]アイコンのタブを選択
-
x86のチェックをOnx86_x64のチェックをOffにした状態にしてApply
以上
参考
↓の導入用ドキュメントに書いてある事を導入時点で全部やってればそもそも発生しないエラーだったようだ。
■ MUNクライアントのセットアップ
> プラグインのターゲットプラットフォーム設定
http://www.monobitengine.com/doc/mun/
↓しかも ver 2.5.0ではデフォで解決してくれていたようです。
MUN/MRSライブラリについて、すべての UnityEditor のバージョンでターゲットプラットフォームを自動的に割り当てられるように改善いたしました。
http://www.monobitengine.com/info/973/
解決して書き終わってから、公式みたら終わってた事に気づくパターンの奴。。