Version: Unity 6.6 Alpha (6000.6)
Language : English
Vulkan hardware profiles
Device filters

Introduction to Vulkan hardware profiles

Use Vulkan hardware profiles to control hardware capabilities and driver workarounds directly from C#.

Vulkan hardware profiles let you control how your app uses Vulkan across classes of Android devices:

  • Configure used Graphics API across targeted devices.
  • Configure driver workarounds.
  • Target profiles to exact device types.
  • Support high-end devices.

Note: You can’t use Vulkan hardware profiles and Vulkan Device Filtering Assets at the same time. If both are present, Vulkan hardware profiles override the filtering assets. Use Vulkan hardware profiles as the primary method for device filtering.

Unity’s default behavior without profiles

Without Vulkan hardware profiles, the Unity Engine auto selects between OpenGL ES and Vulkan backends with no transparency. Also, Unity often prioritizes compatibility with entry-level hardware so that applications function across all devices.

These choices can limit your ability to target high-end devices. Profiles give you explicit, testable rules per device class, so you can target high‑end hardware.

Hardware profile configurations

The following topics describe the main configurations you use to define hardware profiles and fine-tune behavior for specific devices:

Data model Description
Workarounds Control whether devices use specific workarounds for known bugs and issues.
Device filters Target individual devices or groups of devices that match criteria you define.
Graphics APIs Choose which graphics API your application uses on matching devices.

Build or export your project with hardware profiles

The following information explains how Unity handles hardware profiles when you build or export your Unity project.

Use Build and Run

When you use Build and Run (menu: File > Build And Run), Unity translates the profile into a data file and appends to the Gradle project. Unity uses an incremental build pipeline so changes don’t invoke a total rebuild- it only affects modified data files.

Use Export Project

When you use Export Project, Unity appends the profile data file into the GradleAn Android build system that automates several build processes. This automation means that many common build errors are less likely to occur. More info
See in Glossary
project in the following directory:

<gradle-project>/unityLibrary/src/main/assets/bin/Data/Profile.json

If you modify this raw data file, it doesn’t invoke a total rebuild. If you rebuild the app after modifying the profile, the rebuild only adds a new file to the .apk.

Additional resources

Vulkan hardware profiles
Device filters