# AdaptivePerformanceBatteryModeProvider

> The built-in operation mode that prioritizes battery life over performance.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.AdaptivePerformance](/engine/6000.7/script-reference/unityengine/adaptiveperformance.md)
* **Assembly:** UnityEngine.AdaptivePerformanceModule
* **Implements:** [IAdaptivePerformanceModeProvider](/engine/6000.7/script-reference/unityengine/adaptiveperformance/iadaptiveperformancemodeprovider.md)

```csharp
public class AdaptivePerformanceBatteryModeProvider : IAdaptivePerformanceModeProvider
```

## Remarks

Battery mode reduces the target frame rate and enables battery-oriented scalers such as [AdaptiveOnDemandRendering](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveondemandrendering.md), [AdaptivePhysics](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptivephysics.md), and [AdaptiveFramerate](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveframerate.md). It also lowers quality further while the player is idle. Refer to [AdaptivePerformanceIdleTimeTracker](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformanceidletimetracker.md) for idle detection. Where the active provider supports it, battery mode requests the device's energy-efficiency mode through [IDevicePerformanceLevelControl.SetEnergyEfficiencyMode](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/setenergyefficiencymode.md).

## Properties

| Property                                                                                                                                                           | Description                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
| [CpuUtilizationAction](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/cpuutilizationaction.md)             | The action the mode applies in response to the device's CPU utilization data.                                       |
| [GpuUtilizationAction](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/gpuutilizationaction.md)             | The action the mode applies in response to the device's GPU utilization data.                                       |
| [IdleTimeThresholdInSeconds](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/idletimethresholdinseconds.md) | The number of seconds the player must be idle before battery mode applies additional idle-based scaling.            |
| [Indexer](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/indexer.md)                                       | The Indexer that this mode adjusts scalers through.                                                                 |
| [ModeName](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/modename.md)                                     | The name of the operation mode.                                                                                     |
| [PerformanceAction](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/performanceaction.md)                   | The action the mode applies in response to the device's performance state.                                          |
| [SavingTarget](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/savingtarget.md)                             | The fraction of frame time that battery mode tries to save once the target frame rate is met, in the range \[0, 1]. |
| [Settings](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/settings.md)                                     | The active Adaptive Performance settings.                                                                           |
| [ThermalAction](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/thermalaction.md)                           | The action the mode applies in response to the device's thermal state.                                              |

## Methods

| Method                                                                                                                                                 | Description                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ApplyModeActions](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/applymodeactions.md)         | Applies battery mode's idle, thermal, and performance actions to the active scalers. Adaptive Performance calls this method every frame while battery mode is active. |
| [OnOperationModeEnd](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/onoperationmodeend.md)     | Called when battery mode is replaced by another operation mode. Restores the scalers it enabled and releases the device's energy-efficiency hint.                     |
| [OnOperationModeStart](/engine/6000.7/script-reference/unityengine/adaptiveperformance/adaptiveperformancebatterymodeprovider/onoperationmodestart.md) | Called when battery mode becomes the active operation mode. Prepares the Indexer and enables the battery-oriented scalers.                                            |
