# Slider

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

## Definition

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

## Slider(float, float, float, GUILayoutOption\[])

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

```csharp
public static float Slider(float value, float leftValue, float rightValue, params GUILayoutOption[] options)
```

### Parameters

**** (\[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.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).

### Returns

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

### Remarks

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

*Scale the selected object between a range.*

### Examples

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

using UnityEditor;
using UnityEngine;

public class EditorGUILayoutSlider : EditorWindow
{
    static float scale = 0.0f;

    [MenuItem("Examples/Editor GUILayout Slider usage")]
    static void Init()
    {
        EditorWindow window = GetWindow(typeof(EditorGUILayoutSlider));
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUILayout.Slider(scale, 1, 100);
    }

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

## Slider(string, float, float, float, GUILayoutOption\[])

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

```csharp
public static float Slider(string label, float value, float leftValue, float rightValue, params GUILayoutOption[] options)
```

### Parameters

**** (\[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.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).

### Returns

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

### Remarks

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

*Scale the selected object between a range.*

### Examples

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

using UnityEditor;
using UnityEngine;

public class EditorGUILayoutSlider : EditorWindow
{
    static float scale = 0.0f;

    [MenuItem("Examples/Editor GUILayout Slider usage")]
    static void Init()
    {
        EditorWindow window = GetWindow(typeof(EditorGUILayoutSlider));
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUILayout.Slider(scale, 1, 100);
    }

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

## Slider(GUIContent, float, float, float, GUILayoutOption\[])

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

```csharp
public static float Slider(GUIContent label, float value, float leftValue, float rightValue, params GUILayoutOption[] options)
```

### Parameters

**** (\[GUIContent]\(/engine/6000.3/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.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).

### Returns

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

### Remarks

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

*Scale the selected object between a range.*

### Examples

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

using UnityEditor;
using UnityEngine;

public class EditorGUILayoutSlider : EditorWindow
{
    static float scale = 0.0f;

    [MenuItem("Examples/Editor GUILayout Slider usage")]
    static void Init()
    {
        EditorWindow window = GetWindow(typeof(EditorGUILayoutSlider));
        window.Show();
    }

    void OnGUI()
    {
        scale = EditorGUILayout.Slider(scale, 1, 100);
    }

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

## Slider(SerializedProperty, float, float, GUILayoutOption\[])

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

```csharp
public static void Slider(SerializedProperty property, float leftValue, float rightValue, params GUILayoutOption[] options)
```

### Parameters

**** (\[SerializedProperty]\(/engine/6000.3/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.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).

## Slider(SerializedProperty, float, float, string, GUILayoutOption\[])

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

```csharp
public static void Slider(SerializedProperty property, float leftValue, float rightValue, string label, params GUILayoutOption[] options)
```

### Parameters

**** (\[SerializedProperty]\(/engine/6000.3/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.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).

## Slider(SerializedProperty, float, float, GUIContent, GUILayoutOption\[])

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

```csharp
public static void Slider(SerializedProperty property, float leftValue, float rightValue, GUIContent label, params GUILayoutOption[] options)
```

### Parameters

**** (\[SerializedProperty]\(/engine/6000.3/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.3/script-reference/unityengine/guicontent)): Optional label in front of the slider.**** (\[GUILayoutOption\[]]\(/engine/6000.3/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the `style`.\
&#x20;Additional Resources: [GUILayout.Width](/engine/6000.3/script-reference/unityengine/guilayout/width.md), [GUILayout.Height](/engine/6000.3/script-reference/unityengine/guilayout/height.md), [GUILayout.MinWidth](/engine/6000.3/script-reference/unityengine/guilayout/minwidth.md), [GUILayout.MaxWidth](/engine/6000.3/script-reference/unityengine/guilayout/maxwidth.md), [GUILayout.MinHeight](/engine/6000.3/script-reference/unityengine/guilayout/minheight.md), [GUILayout.MaxHeight](/engine/6000.3/script-reference/unityengine/guilayout/maxheight.md), [GUILayout.ExpandWidth](/engine/6000.3/script-reference/unityengine/guilayout/expandwidth.md), [GUILayout.ExpandHeight](/engine/6000.3/script-reference/unityengine/guilayout/expandheight.md).
