Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

QualitySettings.SetQualityLevel

static function SetQualityLevel(index: int, applyExpensiveChanges: bool = true): void;

Parameters

indexQuality index to set.
applyExpensiveChangesShould expensive changes be applied (Anti-aliasing etc).

Description

Sets a new graphics quality level.

	function OnGUI ()
	{
		var names = QualitySettings.names;
		GUILayout.BeginVertical ();
		for (var i = 0; i < names.Length; i++)
		{
			if (GUILayout.Button (names[i]))
				QualitySettings.SetQualityLevel (i, true);
		}
		GUILayout.EndVertical ();
	}

Note that changing the quality level can be an expensive operation if the new level has different anti-aliasing setting. It's fine to change the level when applying in-game quality options, but if you want to dynamically adjustquality level at runtime, pass false to applyExpensiveChanges so that expensive changes are not always applied.

When building a player quality levels that are not used for that platform are stripped. You should not expect a given quality setting to be at a given index. It's best to query the available quality settings and use the returned index.

See Also: GetQualityLevel.