Unity在M2芯片Mac上运行Intel目标DLL的解决方案咨询
解决方案:M2 Mac上Unity运行Intel架构DLL的问题
强制Unity通过Rosetta启动
找到Unity应用程序,右键选「显示简介」,勾选「使用Rosetta打开」后重启Unity。如果是通过Unity Hub启动,也要给Hub勾选同样选项——因为Hub会启动Unity进程,得确保整个链路都走Rosetta兼容模式。替换兼容版本的DLL
去这些DLL的官方发布页或者Unity Asset Store页面看看,有没有支持Universal架构(同时兼容x86_64和arm64)的版本,现在不少第三方库都更新了适配新Mac的包。如果是付费资源,直接联系开发者询问ARM兼容版的情况,或者看看评论区有没有其他M2用户的解决办法。尝试转译非托管DLL(仅限非托管代码)
如果是非托管的Intel DLL,可以试试用lipo命令合并架构(前提是能找到对应ARM版本的DLL),生成Universal架构文件。命令示例:lipo -create [Intel版DLL路径] [ARM版DLL路径] -output [合并后的Universal DLL路径]注意:托管DLL无法用这种方法转译,且非托管转译可能存在稳定性隐患,测试后再投入使用。
远程开发替代方案
要是以上方法都行不通,就找台Intel架构的Mac或Windows机器搭建Unity环境,用远程桌面(比如VNC、TeamViewer)或者Unity的协作功能做开发,编译和运行都在Intel机器上完成,本地M2 Mac只负责编辑代码和资源。
内容的提问来源于stack exchange,提问作者Castor Mann
相关产品推荐
相关产品推荐

