# IEnergyUsageControl

> Use the energy-usage control interface to start, reset, and stop cross-platform per-subsystem energy tracking. While tracking is active, the latest readings are available through PerformanceMetrics.EnergyUsage.

## Definition

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

```csharp
public interface IEnergyUsageControl
```

## Remarks

Power-usage tracking reports energy consumed relative to the point at which tracking was started or reset, not an absolute value. Support depends on the active provider and the device (see [Feature.EnergyUsage](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/energyusage.md)).

## Properties

| Property                                                                                                                                            | Description                                                                                            |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| [EnergyUsageTrackingActive](/engine/6000.7/script-reference/unityengine/adaptiveperformance/ienergyusagecontrol/energyusagetrackingactive.md)       | True while energy-usage tracking is active, false otherwise.                                           |
| [EnergyUsageTrackingSupported](/engine/6000.7/script-reference/unityengine/adaptiveperformance/ienergyusagecontrol/energyusagetrackingsupported.md) | Returns true if the active provider and device support energy-usage tracking, otherwise returns false. |

## Methods

| Method                                                                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [StartEnergyUsageTracking](/engine/6000.7/script-reference/unityengine/adaptiveperformance/ienergyusagecontrol/startenergyusagetracking.md) | Starts energy-usage tracking, or resets the baseline if tracking is already active so that subsequent [PerformanceMetrics.EnergyUsage](/engine/6000.7/script-reference/unityengine/adaptiveperformance/performancemetrics/energyusage.md) readings are measured from now.                                                                                                                                      |
| [StopEnergyUsageTracking](/engine/6000.7/script-reference/unityengine/adaptiveperformance/ienergyusagecontrol/stopenergyusagetracking.md)   | Stops energy-usage tracking. After calling this method, [PerformanceMetrics.EnergyUsage](/engine/6000.7/script-reference/unityengine/adaptiveperformance/performancemetrics/energyusage.md) readings remain unavailable until [IEnergyUsageControl.StartEnergyUsageTracking](/engine/6000.7/script-reference/unityengine/adaptiveperformance/ienergyusagecontrol/startenergyusagetracking.md) is called again. |
