最近看了下Epic在Unreal Fest2024和Unreal Fest2025的两篇关于移动端的workflow的介绍,又尝试了一些新的东西。 移动端真机调试一直是一个我工作的一个痛点..无论是Android还是iOS..
关于虚幻在模拟器上运行的可行性
UE5.X后对模拟器支持的比较好了,无论是Android Studio还是iOS Simulator都可以比较好的模拟了。
Android 模拟器支持

Mac模拟器支持
- Mac我们用的是下面那种,打包成IPA以后直接安装并调试(只能适用于M芯片的mac)
最后一条不支持GPU Debugger是可以改的,项目里已经验证过了,把XCode Capture Plugin给改改就可以做到抓帧直接写入到文件,然后读取抓帧后的文件。

第一种模拟方式意义不大,主要是GPU特性支持不全。
这里重点讲下怎么用模拟器跑Android,iOS其实用 Xcode的designed for iPad的模式就可以比较无缝的跑了。
关于使用模拟器跑Android游戏
关于x86模拟器和arm模拟器
x86模拟器
x86上跑测没问题,gpu直通,cpu靠libhoudini转译。
优点:
- 性能好,不卡, GPU直通桌面端显卡。
缺点:
- 由于cpu指令是转译的,调试器无法直接调试。
- gpu由于直通桌面端的原因,可能没法准确模拟half。
- 只有vulkan支持(subpass), gl的话不行(部分扩展不支持)。扩展支持有限,不支持Bindless和Raytracing。
Mac arm模拟器
优点:
- mac上可以完美模拟,指令集无需转译,AGDE调试很方便!
缺点:
- 实测无法renderdoc抓帧,很遗憾,可能因为模拟器 + VK转译Metal套太多层了
- 由于底层基于MoltenVK,不支持RayTracing管线
x86可用的镜像: (务必选择带有Google APIs的镜像,Google Play可能也行). AOSP不行,不带libhoudini无法模拟arm64的apk

mac可用的镜像: 选default即可

如何验证: 装一个vulkaninfo的apk即可。
Windows直通的结果

Mac直通的结果

** 模拟器跑虚幻 Mobile Deferred Renderer **
