如何在 Unity 中禁用 Metal

How to disable Metal in Unity

Unity 有一个自动选择图形 API 的设置。

由于某些原因,我的游戏在使用 Metal 时性能要低得多;现在我不想将 Metal 作为选项,但仍然能够让它自动选择 Open GL ES 2.0 或 3.0。

我正在使用 Unity 5.0。

我觉得这可能是……

在"Preprocessor.h"

#if defined(__IPHONE_8_0) && !TARGET_IPHONE_SIMULATOR
    #define UNITY_CAN_USE_METAL     0
#else
    #define UNITY_CAN_USE_METAL     0
#endif

对于Unity 5.0,lee的回答可能就是答案。 从 Unity 5.1 开始,您可以在播放器设置中指定首选 API 及其优先级。

https://unity3d.com/unity/whats-new/unity-5.1 : Graphics: Added a way to specify graphics APIs explicitly in player settings (defaults to "automatic" for each platform). For example, you could specify you only want to support Metal+ES2 in iOS builds, or only DX11 (without DX9 fallback) on Windows builds etc. This replaces the "Use DX11" and "Target iOS/GLES Graphics" settings.

在下面的示例中,如果可用,ES3 将在 ES2 之前被拾取,而 Metal 即使可用也不会被拾取。