[RESOLVED] How does Unity pick the GL ES level if the Graphics Level is set to Auto?

Good day. I’ve checked the player settings documentation for android ( Unity - Manual: Android Player settings ) and it didn’t have any detailed explanation on how the Auto option for the Graphics Level works. I would like to ask, how will the build determine which GL ES Level to use when it’s run on the actual device? Thanks in advance.

Usually ‘Auto’ will pick the highest GL ES version available on the device.
But there are special cases, like some drivers report that ES3 is supported but in reality it is not.
In Unity 5 we only support ES3 on Android >= 4.3 even though there are devices running older Android versions with ES3 drivers.

1 Like

Does that mean it’s safer to just explicitly create multiple APK’s with different Graphics Levels? Given that there are cases of devices giving wrong claims with their ES drivers, I’m worried of releasing a single build with the said setting assigned to Automatic. I’m not sure how frequent this case is though.

Currently we don’t know of any devices where the auto detection does not work (Unity 5.0.1) and ‘Auto’ is the default. We are trying to catch these corner cases.
In future Unity versions you will probably see more Graphics Levels, so that would be even more work for you.

I think that problems with the version selection itself were not the main reason why many people did not use ‘Auto’ in Unity 4.x. Most games just didn’t need ES3 features and Unity’s ES3 support and the ES3 drivers were still relatively new and not as stable as ES2.

1 Like

Ok thanks for the info. Marking this thread as resolved.