# ProfileDatabase

> The root container for Vulkan hardware profiles, holding the default filter and device-specific profiles.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.HardwareProfiles](/engine/6000.6/script-reference/unityeditor/hardwareprofiles.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public class ProfileDatabase
```

## Remarks

Use ProfileDatabase to configure how Unity handles Vulkan driver workarounds, graphics API selection, and graphics jobs settings across different Android devices. The database contains a single [DefaultDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/defaultdevicefilter.md) and zero or more [ProfileDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledevicefilter.md) instances.

At build time, Unity serializes the database into a `Profile.json` file that is included in the application. At runtime, when a device doesn't match any [ProfileDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledevicefilter.md), Unity applies the [DefaultDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/defaultdevicefilter.md) settings.

To get a ProfileDatabase instance, use the `DefineHardwareProfile` callback method when you implement the `AndroidHardwareProfiles` class.

**Note**: You can't use Vulkan hardware profiles and Vulkan Device Filtering Assets at the same time. When both exist, hardware profiles take precedence.

For more information, refer to [Vulkan hardware profiles](/engine/6000.6/manual/platform-specific/android/developing/graphics/vulkan-hardware-profiles.md).

## Constructors

| Constructor                                                                                               | Description                                                                    |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [ProfileDatabase()](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledatabase/ctor.md) | Creates a ProfileDatabase with a default filter and an empty list of profiles. |

## Methods

| Method                                                                                                               | Description                                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledatabase/createfilter.md)         | Creates a new [ProfileDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledevicefilter.md) targeting devices that match the specified criteria and adds it to the database.           |
| [GetDefaultFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/profiledatabase/getdefaultfilter.md) | Returns the [DefaultDeviceFilter](/engine/6000.6/script-reference/unityeditor/hardwareprofiles/defaultdevicefilter.md), which allows you to define the default settings applied to all remaining unmatched devices. |
