# Slider

> Makes a slider the user can drag to change a value between a min and a max.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.0/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

## Slider(Rect, float, float, float)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static float Slider(Rect position, float value, float leftValue, float rightValue)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.

### Returns

| Type                                                          | Description                              |
| ------------------------------------------------------------- | ---------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The value that has been set by the user. |

### Remarks

![EditorGUISlider (Slider)](/api/media?file=/engine/6000.0/media/images/EditorGUISlider.png)

*Slider in an Editor Window.*

### Examples

```csharp
using UnityEngine;
using UnityEditor;

// Editor script that lets you scale the selected GameObject between 1 and 100

class EditorGUISlider : EditorWindow
{
    float scale = 1.0f;

    [MenuItem("Examples/EditorGUI Slider usage")]
    static void Init()
    {
        var window = GetWindow<EditorGUISlider>();
        window.position = new Rect(0, 0, 150, 30);
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUI.Slider(new Rect(5, 5, 150, 20), scale, 1, 100);
    }

    void OnInspectorUpdate()
    {
        if (Selection.activeTransform)
        {
            Selection.activeTransform.localScale = new Vector3(scale, scale, scale);
        }
    }
}
```

## Slider(Rect, string, float, float, float)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static float Slider(Rect position, string label, float value, float leftValue, float rightValue)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Optional label in front of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.

### Returns

| Type                                                          | Description                              |
| ------------------------------------------------------------- | ---------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The value that has been set by the user. |

### Remarks

![EditorGUISlider (Slider)](/api/media?file=/engine/6000.0/media/images/EditorGUISlider.png)

*Slider in an Editor Window.*

### Examples

```csharp
using UnityEngine;
using UnityEditor;

// Editor script that lets you scale the selected GameObject between 1 and 100

class EditorGUISlider : EditorWindow
{
    float scale = 1.0f;

    [MenuItem("Examples/EditorGUI Slider usage")]
    static void Init()
    {
        var window = GetWindow<EditorGUISlider>();
        window.position = new Rect(0, 0, 150, 30);
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUI.Slider(new Rect(5, 5, 150, 20), scale, 1, 100);
    }

    void OnInspectorUpdate()
    {
        if (Selection.activeTransform)
        {
            Selection.activeTransform.localScale = new Vector3(scale, scale, scale);
        }
    }
}
```

## Slider(Rect, GUIContent, float, float, float)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static float Slider(Rect position, GUIContent label, float value, float leftValue, float rightValue)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): Optional label in front of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.

### Returns

| Type                                                          | Description                              |
| ------------------------------------------------------------- | ---------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The value that has been set by the user. |

### Remarks

![EditorGUISlider (Slider)](/api/media?file=/engine/6000.0/media/images/EditorGUISlider.png)

*Slider in an Editor Window.*

### Examples

```csharp
using UnityEngine;
using UnityEditor;

// Editor script that lets you scale the selected GameObject between 1 and 100

class EditorGUISlider : EditorWindow
{
    float scale = 1.0f;

    [MenuItem("Examples/EditorGUI Slider usage")]
    static void Init()
    {
        var window = GetWindow<EditorGUISlider>();
        window.position = new Rect(0, 0, 150, 30);
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUI.Slider(new Rect(5, 5, 150, 20), scale, 1, 100);
    }

    void OnInspectorUpdate()
    {
        if (Selection.activeTransform)
        {
            Selection.activeTransform.localScale = new Vector3(scale, scale, scale);
        }
    }
}
```

## Slider(Rect, SerializedProperty, float, float)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static void Slider(Rect position, SerializedProperty property, float leftValue, float rightValue)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[SerializedProperty]\(/engine/6000.0/script-reference/unityeditor/serializedproperty)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.

## Slider(Rect, SerializedProperty, float, float, string)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static void Slider(Rect position, SerializedProperty property, float leftValue, float rightValue, string label)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[SerializedProperty]\(/engine/6000.0/script-reference/unityeditor/serializedproperty)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Optional label in front of the slider.

## Slider(Rect, SerializedProperty, float, float, GUIContent)

Makes a slider the user can drag to change a value between a min and a max.

```csharp
public static void Slider(Rect position, SerializedProperty property, float leftValue, float rightValue, GUIContent label)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the slider.**** (\[SerializedProperty]\(/engine/6000.0/script-reference/unityeditor/serializedproperty)): The value the slider shows. This determines the position of the draggable thumb.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the slider.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the slider.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): Optional label in front of the slider.
