# Basic provider

> Understand the Basic provider, a built-in generic provider that works with performance metrics collected using the FrameTimingManager API.

The Basic provider is a built-in generic provider that works with performance metrics collected using the `FrameTimingManager` API.

To install the Basic provider, enable **Basic Provider** when you [set up Adaptive Performance](/engine/6000.3/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/initial-setup.md).

## Platform support

The following platforms support the Basic provider:

* Android
* iOS
* Linux
* macOS
* tvOS
* visionOS
* UWP

## Limitations

The Basic provider doesn't support the following APIs and features:

* The thermal hint API or related thermal settings (for example, [`IThermalStatus`](/engine/6000.3/script-reference/unityengine/adaptiveperformance/ithermalstatus.md))
* Graphics APIs that lack GPU frame timing support

## Additional resources

* [FrameTimingManager](/engine/6000.3/script-reference/unityengine/frametimingmanager.md)
* [Android provider package](https://docs.unity3d.com/Packages/com.unity.adaptiveperformance.google.android@latest?subfolder=/manual/index.html)
* [Introduction to providers](/engine/6000.3/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/introduction.md)
* [Provider settings reference](/engine/6000.3/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/provider-settings-reference.md)
* [Create a custom provider](/engine/6000.3/manual/analysis/runtime-performance-scaling/adaptive-performance/get-started/providers/create-custom-provider.md)
