Search Unity

Minimum Vulkan API version

Discussion in 'Documentation' started by okluskyond, Jan 10, 2020.

  1. okluskyond

    okluskyond

    Joined:
    Dec 6, 2017
    Posts:
    38
    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
     
  2. jo-unity

    jo-unity

    Unity Technologies

    Joined:
    Mar 27, 2019
    Posts:
    33
  3. okluskyond

    okluskyond

    Joined:
    Dec 6, 2017
    Posts:
    38
    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.
     
  4. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    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.
     
  5. okluskyond

    okluskyond

    Joined:
    Dec 6, 2017
    Posts:
    38
    Thank you for the explanation, this behavior is better that what we have expected :)
     
  6. Fleurpink

    Fleurpink

    Joined:
    Jan 16, 2020
    Posts:
    2
    Last edited: Jan 18, 2020
  7. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    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 https://docs.unity3d.com/Manual/AndroidUnityPlayerActivity.html ("Specifying Unity startup arguments from a custom UnityPlayerActivity file").
     
  8. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    412
    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.