---
tags:
    - "Graphics"
    - "Quality"
    - "Options"
    - "Performance"
    - "Preset"
---

# Quality Settings Level Name

[Settings](../index.md) / [Quality Settings](index.md) / **Quality Settings Level Name**

<div class="grid cards" markdown>

* :green_circle: Can Read

* :red_circle: Cannot Write

</div>

## Description

The name of a quality level, which is the active one by default

## Parameters

| Name | Description |
| :--- | :---------- |
| Level | The index of the quality level |

## Code

```cs
using System;
using UnityEngine;
using VisualScript.Icons;

namespace VisualScript.Runtime
{
    [Get]

    [Title("Quality Settings Level Name")]
    [Category("Settings/Quality Settings/Level Name")]

    [Description("The name of a quality level, which is the active one by default")]
    [Image(typeof(IconCog), ColorTheme.Type.TextLight, typeof(BadgeSettings))]

    [Parameter("Level", "The index of the quality level")]

    [Keywords("Graphics", "Quality", "Options", "Performance", "Preset")]

    [Serializable]
    public class TypeStringQualitySettingsLevelName : TypeString
    {
        [SerializeField] private GetInteger m_Level = new GetInteger(
            new GenTypeInteger_QualitySettings_GetQualityLevel_0()
        );

        [NonSerialized] private string[] m_Names;

        public override string Get(Args args)
        {
            this.m_Names ??= QualitySettings.names;

            int level = this.m_Level.GetInt(args);
            if (level < 0 || level >= this.m_Names.Length) return string.Empty;

            return this.m_Names[level];
        }

        public override string ToString()
        {
            return $"{this.m_Level} Name";
        }

        protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
    }
}
```

