index | Quality index to set. |
applyExpensiveChanges | Should expensive changes be applied (Anti-aliasing etc). |
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 (); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void OnGUI() { string[] names = QualitySettings.names; GUILayout.BeginVertical(); int i = 0; while (i < names.Length) { if (GUILayout.Button(names[i])) QualitySettings.SetQualityLevel(i, true); i++; } 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.