# ProfileWorkarounds

> Stores the workaround configuration for a ProfileDeviceFilter.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.HardwareProfiles](/engine/6000.7/script-reference/unityeditor/hardwareprofiles.md)
* **Assembly:** UnityEditor.CoreModule
* **Inherits from:** [DefaultWorkarounds](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/defaultworkarounds.md)

```csharp
public class ProfileWorkarounds : DefaultWorkarounds
```

## Remarks

Extends [DefaultWorkarounds](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/defaultworkarounds.md) with a `default` list. Workarounds in the `default` list let Unity decide whether to apply them based on device properties. This three-state model (enabled, disabled, default) allows device-specific profiles to override or defer to Unity's automatic workaround detection.

Use [ProfileDeviceFilter.SetWorkaround](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profiledevicefilter/setworkaround.md) to modify individual workarounds, or [ProfileDeviceFilter.DisableAllWorkarounds](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profiledevicefilter/disableallworkarounds.md) to disable all workarounds at once.

For more information, refer to [Workaround hardware profile settings](/engine/6000.7/manual/platform-specific/android/developing/graphics/vulkan-hardware-profiles/workarounds.md).

## Fields

| Value                                                                                                 | Description                                                 |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| [default](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profileworkarounds/default.md) | List of workaround names that use Unity's default behavior. |

## Constructors

| Constructor                                                                                                     | Description                                                                                       |
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [ProfileWorkarounds()](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profileworkarounds/ctor.md) | Creates a `ProfileWorkarounds` instance that contains empty enabled, disabled, and default lists. |

## Methods

| Method                                                                                                            | Description                                                      |
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| [ClearAll](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profileworkarounds/clearall.md)           | Resets all workarounds to the default state.                     |
| [DisableAll](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profileworkarounds/disableall.md)       | Moves all defined workarounds to the disabled list.              |
| [SetWorkaround](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/profileworkarounds/setworkaround.md) | Sets the state of a specific driver workaround for this profile. |

## Inheritance

**Inherited Members:**

* [DefaultWorkarounds.disabled](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/defaultworkarounds/disabled.md)
* [DefaultWorkarounds.enabled](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/defaultworkarounds/enabled.md)
* [DefaultWorkarounds.DefinedWorkarounds()](/engine/6000.7/script-reference/unityeditor/hardwareprofiles/defaultworkarounds/definedworkarounds.md)
