Minimum Vulkan API version

Hi,

is there some documentation for minimum Vulkan API version as I can’t find any. From release notes for Unity 2019.2.0 https://unity.cn/releases/full/2019/2019.2.0 is clear that some minimum version exist for Adreno.

Is there some also for Mali powered devices? Does that mean that it won’t start at all or it will just run until it finds something from 1.0.38 and higher and than unspecified behaviour?

Thanks for response

Hiya - we have some system requirements and supported platforms listed for 2019.3 here: Unity - Manual: System requirements for Unity 2019.3

Hopefully this helps!

Hi,

thanks for suggestion and interesting reading about Android platform (actually didn’t know all the hardware and software requirments, that more completes Android big picture), but unfortunately the informations I’m looking for were not there.

The minimum Vulkan version that Unity supports on Android is 1.0.

For builds that include support for multiple Graphics APIs (e.g. Vulkan and OpenGL ES 3.x) Unity also uses the Vulkan API version reported by the driver to decide whether Vulkan or OpenGL ES is preferred.

For Adreno drivers that report a Vulkan API version older than 1.0.38 Unity will prefer OpenGL ES.

Thank you for the explanation, this behavior is better that what we have expected :slight_smile:

Hi, thanks for suggestion i lears so many interesting things about android

The performance and stability of our Vulkan graphics backend (and the driver) depend on the actual project. So if the built-in rules when to use OpenGL ES don’t work for you then there is a way to override them as it described in Unity - Manual: Extend the default Unity activity (“Specifying Unity startup arguments from a custom UnityPlayerActivity file”).

Can I just clarify this post:

  • In order to switch between Vulkan and ES3 on android, you must include both APIs (you’re probably not using Auto if you’re using Vulkan and linear lighitng because linear lighting doesn’t support ES2 anwyway.)
  • The vulkan API must always be above ES3.
  • In some specific cases, (e.g. the example quoted above with Adreno) Unity will then pick ES3 over Vulkan even though vulkan is listed first.
  • If that behaviour isn’t enough for you, create a custom activity.