# qualityLevels

> The names of the quality levels to include in the build.

## Definition

* **Type:** Property
* **Namespace:** [UnityEditor.Build.Profile](/engine/7000.0/script-reference/unityeditor/build/profile.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public string[] qualityLevels { get; set; }
```

### Remarks

Each name must match a quality level in [QualitySettings.names](/engine/7000.0/script-reference/unityengine/qualitysettings/names.md). This property returns a copy of the array, so changing the returned array doesn't change the build profile. To change the quality levels, set this property to a new array.

The build lists the quality levels in the same order as the global quality levels, regardless of the order in this array.

When the array is empty, builds made with the build profile use the global quality levels for the build profile's platform, as if the build profile had no quality settings.

When the new array doesn't contain [BuildProfileQualitySettings.defaultQualityLevel](/engine/7000.0/script-reference/unityeditor/build/profile/buildprofilequalitysettings/defaultqualitylevel.md), Unity sets `defaultQualityLevel` to the first quality level in the array, or to an empty string if the array is empty.

If you rename or delete a quality level in **Project Settings** > **Quality**, Unity updates this list. If you rename or delete a quality level outside the window, for example by pulling an updated `ProjectSettings/QualitySettings.asset` file from version control, the old name remains in the list, and builds ignore it.

If you set this property to `null`, Unity throws an `ArgumentNullException`. If you set it to an array that contains a `null`, empty, or duplicate name, or a name that isn't in [QualitySettings.names](/engine/7000.0/script-reference/unityengine/qualitysettings/names.md), Unity throws an `ArgumentException`.
