# Introduction to providers

> Use providers to get performance data from a device.

Use providers to supply Adaptive Performance with performance data from a device.

Adaptive Performance requires a data provider subsystem to function. You can install and enable a provider for each platform from the **Adaptive Performance** section of the Project Settings window.

## Adaptive Performance providers

The following providers are officially built and supported by Unity:

| **Provider**                                                                                                                                  | **Description**                                                                                                                                                                    |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**Basic provider**](/engine/6000.6/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/basic-provider.md) | A built-in generic provider that works with performance metrics collected using the [`FrameTimingManager`](/engine/6000.6/script-reference/unityengine/frametimingmanager.md) API. |
| [**Android provider**](https://docs.unity3d.com/Packages/com.unity.adaptiveperformance.google.android@latest?subfolder=/manual/index.html)    | A package that extends Adaptive Performance to Android devices.                                                                                                                    |
| [**Apple provider**](https://docs.unity3d.com/Packages/com.unity.adaptiveperformance.apple@latest?subfolder=/manual/index.html)               | A package that extends Adaptive Performance to Apple devices.                                                                                                                      |

## Custom providers

You can also implement your own custom providers. To do so, refer to [Create a custom provider](/engine/6000.6/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/create-custom-provider.md).

## Default provider

The default provider is the one Unity automatically selects when you enable Adaptive Performance. This selection is based on a priority system: Unity loads the installed provider with the lowest priority number. You can configure these priority values through [IAdaptivePerformanceLoaderMetadata](/engine/6000.6/script-reference/unityeditor/adaptiveperformance/editor/metadata/iadaptiveperformanceloadermetadata.md).

## Additional resources

* [Provider settings reference](/engine/6000.6/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/provider-settings-reference.md)
* [Provider lifecycle management](/engine/6000.6/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/provider-lifecycle.md)
