# IntSlider

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

## Definition

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

## IntSlider(Rect, int, int, int)

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

```csharp
public static int IntSlider(Rect position, int value, int leftValue, int rightValue)
```

### Parameters

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

### Returns

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

### Remarks

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

*Int Slider in an Editor Window.*

### Examples

```csharp
using UnityEditor;
using UnityEngine;
using System.Collections;

// Simple editor script that lets you clone your object in a grid

public class EditorGUIIntSlider : EditorWindow
{
    int cloneTimesX = 1;
    int cloneTimesY = 1;
    int cloneTimesZ = 1;
    int spacing = 2;

    [MenuItem("Examples/Editor GUI int slider usage")]
    static void Init()
    {
        UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIIntSlider));
        window.position = new Rect(100, 100, 250, 100);
        window.Show();
    }

    void OnGUI()
    {
        cloneTimesX = EditorGUI.IntSlider(new Rect(0, 0, position.width, 20), cloneTimesX.ToString(), cloneTimesX, 1, 10);
        cloneTimesY = EditorGUI.IntSlider(new Rect(0, 25, position.width, 20), cloneTimesY.ToString(), cloneTimesY, 1, 10);
        cloneTimesZ = EditorGUI.IntSlider(new Rect(0, 50, position.width, 20), cloneTimesZ.ToString(), cloneTimesZ, 1, 10);

        if (GUI.Button(new Rect(0, 75, position.width, 15), "Make Grid!"))
        {
            CloneSelected();
        }
    }

    void CloneSelected()
    {
        if (!Selection.activeGameObject)
        {
            Debug.Log("Select a GameObject first");
            return;
        }

        for (int i = 0; i < cloneTimesX; i++)
        {
            for (int j = 0; j < cloneTimesY; j++)
            {
                for (int k = 0; k < cloneTimesZ; k++)
                {
                    Instantiate(Selection.activeGameObject,
                        new Vector3(i, j, k) * spacing,
                        Selection.activeGameObject.transform.rotation);
                }
            }
        }
    }
}
```

## IntSlider(Rect, string, int, int, int)

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

```csharp
public static int IntSlider(Rect position, string label, int value, int leftValue, int 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.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value the slider shows. This determines the position of the draggable thumb.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the left end of the slider.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the right end of the slider.

### Returns

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

### Remarks

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

*Int Slider in an Editor Window.*

### Examples

```csharp
using UnityEditor;
using UnityEngine;
using System.Collections;

// Simple editor script that lets you clone your object in a grid

public class EditorGUIIntSlider : EditorWindow
{
    int cloneTimesX = 1;
    int cloneTimesY = 1;
    int cloneTimesZ = 1;
    int spacing = 2;

    [MenuItem("Examples/Editor GUI int slider usage")]
    static void Init()
    {
        UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIIntSlider));
        window.position = new Rect(100, 100, 250, 100);
        window.Show();
    }

    void OnGUI()
    {
        cloneTimesX = EditorGUI.IntSlider(new Rect(0, 0, position.width, 20), cloneTimesX.ToString(), cloneTimesX, 1, 10);
        cloneTimesY = EditorGUI.IntSlider(new Rect(0, 25, position.width, 20), cloneTimesY.ToString(), cloneTimesY, 1, 10);
        cloneTimesZ = EditorGUI.IntSlider(new Rect(0, 50, position.width, 20), cloneTimesZ.ToString(), cloneTimesZ, 1, 10);

        if (GUI.Button(new Rect(0, 75, position.width, 15), "Make Grid!"))
        {
            CloneSelected();
        }
    }

    void CloneSelected()
    {
        if (!Selection.activeGameObject)
        {
            Debug.Log("Select a GameObject first");
            return;
        }

        for (int i = 0; i < cloneTimesX; i++)
        {
            for (int j = 0; j < cloneTimesY; j++)
            {
                for (int k = 0; k < cloneTimesZ; k++)
                {
                    Instantiate(Selection.activeGameObject,
                        new Vector3(i, j, k) * spacing,
                        Selection.activeGameObject.transform.rotation);
                }
            }
        }
    }
}
```

## IntSlider(Rect, GUIContent, int, int, int)

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

```csharp
public static int IntSlider(Rect position, GUIContent label, int value, int leftValue, int 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.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value the slider shows. This determines the position of the draggable thumb.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the left end of the slider.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the right end of the slider.

### Returns

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

### Remarks

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

*Int Slider in an Editor Window.*

### Examples

```csharp
using UnityEditor;
using UnityEngine;
using System.Collections;

// Simple editor script that lets you clone your object in a grid

public class EditorGUIIntSlider : EditorWindow
{
    int cloneTimesX = 1;
    int cloneTimesY = 1;
    int cloneTimesZ = 1;
    int spacing = 2;

    [MenuItem("Examples/Editor GUI int slider usage")]
    static void Init()
    {
        UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIIntSlider));
        window.position = new Rect(100, 100, 250, 100);
        window.Show();
    }

    void OnGUI()
    {
        cloneTimesX = EditorGUI.IntSlider(new Rect(0, 0, position.width, 20), cloneTimesX.ToString(), cloneTimesX, 1, 10);
        cloneTimesY = EditorGUI.IntSlider(new Rect(0, 25, position.width, 20), cloneTimesY.ToString(), cloneTimesY, 1, 10);
        cloneTimesZ = EditorGUI.IntSlider(new Rect(0, 50, position.width, 20), cloneTimesZ.ToString(), cloneTimesZ, 1, 10);

        if (GUI.Button(new Rect(0, 75, position.width, 15), "Make Grid!"))
        {
            CloneSelected();
        }
    }

    void CloneSelected()
    {
        if (!Selection.activeGameObject)
        {
            Debug.Log("Select a GameObject first");
            return;
        }

        for (int i = 0; i < cloneTimesX; i++)
        {
            for (int j = 0; j < cloneTimesY; j++)
            {
                for (int k = 0; k < cloneTimesZ; k++)
                {
                    Instantiate(Selection.activeGameObject,
                        new Vector3(i, j, k) * spacing,
                        Selection.activeGameObject.transform.rotation);
                }
            }
        }
    }
}
```

## IntSlider(Rect, SerializedProperty, int, int)

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

```csharp
public static void IntSlider(Rect position, SerializedProperty property, int leftValue, int 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.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the left end of the slider.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the right end of the slider.

## IntSlider(Rect, SerializedProperty, int, int, string)

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

```csharp
public static void IntSlider(Rect position, SerializedProperty property, int leftValue, int 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.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the left end of the slider.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): 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.

## IntSlider(Rect, SerializedProperty, int, int, GUIContent)

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

```csharp
public static void IntSlider(Rect position, SerializedProperty property, int leftValue, int 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.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the left end of the slider.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The value at the right end of the slider.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): Optional label in front of the slider.
