Unity WebGL构建时Photon与MetaMask的WebSocket.jslib冲突求助
Unity WebGL构建时WebSocket.jslib冲突问题的解决方法
问题核心
MetaMask和Photon插件各自包含的WebSocket.jslib文件,在WebGL构建时会被复制到同一根输出路径,导致文件冲突;直接重命名文件会破坏插件内部的代码引用,引发更多错误。
解决步骤
修改插件输出路径(推荐方案)
- 在Project窗口选中
Assets/MetaMask/Plugins/Libraries/WebSocket/WebSocket.jslib - 在Inspector面板的「Plugin Importer」设置中,找到Path字段,将其修改为
MetaMask/WebSocket.jslib - 对
Assets/Photon/PhotonLibs/WebSocket/WebSocket.jslib执行相同操作,修改输出路径为Photon/WebSocket.jslib - 保存设置后重新执行构建
- 在Project窗口选中
设置插件优先级(备选方案)
- 选中其中一个
WebSocket.jslib文件,在Inspector的「Plugin Importer」中找到Priority选项,将数值调高(例如设为100) - 另一个文件保持默认优先级(0),构建时Unity会优先使用优先级高的文件
注意:此方案仅适用于两个插件的WebSocket实现相互兼容的场景,否则会导致其中一个插件的WebSocket功能失效
- 选中其中一个
移除冗余依赖(谨慎操作)
- 检查MetaMask和Photon插件是否必须依赖各自的
WebSocket.jslib - 若其中一个插件可共用另一个的WebSocket实现,可删除冗余文件(操作前务必备份项目),测试功能正常后再构建
- 检查MetaMask和Photon插件是否必须依赖各自的
内容的提问来源于stack exchange,提问作者sayt
相关产品推荐
相关产品推荐

