# HorizontalScrollbar

> Make a horizontal scrollbar.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.IMGUIModule

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

Make a horizontal scrollbar.

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

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The position between min and max.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): How much can we see?**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the scrollbar.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the scrollbar.**** (\[GUILayoutOption\[]]\(/engine/6000.6/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the `style`.

### Returns

| Type                                                          | Description                                                                                                       |
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end. |

### Remarks

A scrollbar control returns a float value that represents the position of the draggable "thumb" withtin the bar. You can use the value to adjust another GUI element to reflect the scroll position. However, most scrollable views can be handled more easily using a *scroll view* control.

![GUILayoutHorizontalScrollBar (HorizontalScrollbar)](/api/media?file=/engine/6000.6/media/images/GUILayoutHorizontalScrollBar.png)

*Horizontal Scrollbar in the Game View.*

```csharp
using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    float hSbarValue;

    void OnGUI()
    {
        hSbarValue = GUILayout.HorizontalScrollbar(hSbarValue, 1.0f, 0.0f, 10.0f);
        GUILayout.Label("This is a text that makes space");
    }
}
```

The styles of the scroll buttons at the end of the bar can be located in the current skin by adding "leftbutton" and "rightbutton" to the style name. The name of the scrollbar thumb (the thing you drag) is found by appending "thumb" to the style name.

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

public class ExampleClass : MonoBehaviour
{
    public float scrollPos = 0.5F;
    // This will use the following style names to determine the size / placement of the buttons
    // MyScrollbarleftbutton    - Name of style used for the left button.
    // MyScrollbarrightbutton - Name of style used for the right button.
    // MyScrollbarthumb         - Name of style used for the draggable thumb.
    void OnGUI()
    {
        scrollPos = GUILayout.HorizontalScrollbar(scrollPos, 1, 0, 100, "MyScrollbar");
    }
}
```

Additional Resources: [GUILayout.BeginScrollView](/engine/6000.6/script-reference/unityengine/guilayout/beginscrollview.md), [GUILayout.VerticalScrollbar](/engine/6000.6/script-reference/unityengine/guilayout/verticalscrollbar.md).

## HorizontalScrollbar(float, float, float, float, GUIStyle, GUILayoutOption\[])

Make a horizontal scrollbar.

```csharp
public static float HorizontalScrollbar(float value, float size, float leftValue, float rightValue, GUIStyle style, params GUILayoutOption[] options)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The position between min and max.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): How much can we see?**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the left end of the scrollbar.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The value at the right end of the scrollbar.**** (\[GUIStyle]\(/engine/6000.6/script-reference/unityengine/guistyle)): The style to use for the scrollbar background. If left out, the `horizontalScrollbar` style from the current [GUISkin](/engine/6000.6/script-reference/unityengine/guiskin.md) is used.**** (\[GUILayoutOption\[]]\(/engine/6000.6/script-reference/unityengine/guilayoutoption)): An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the `style`.

### Returns

| Type                                                          | Description                                                                                                       |
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The modified value. This can be changed by the user by dragging the scrollbar, or clicking the arrows at the end. |

### Remarks

A scrollbar control returns a float value that represents the position of the draggable "thumb" withtin the bar. You can use the value to adjust another GUI element to reflect the scroll position. However, most scrollable views can be handled more easily using a *scroll view* control.

![GUILayoutHorizontalScrollBar (HorizontalScrollbar)](/api/media?file=/engine/6000.6/media/images/GUILayoutHorizontalScrollBar.png)

*Horizontal Scrollbar in the Game View.*

```csharp
using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    float hSbarValue;

    void OnGUI()
    {
        hSbarValue = GUILayout.HorizontalScrollbar(hSbarValue, 1.0f, 0.0f, 10.0f);
        GUILayout.Label("This is a text that makes space");
    }
}
```

The styles of the scroll buttons at the end of the bar can be located in the current skin by adding "leftbutton" and "rightbutton" to the style name. The name of the scrollbar thumb (the thing you drag) is found by appending "thumb" to the style name.

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

public class ExampleClass : MonoBehaviour
{
    public float scrollPos = 0.5F;
    // This will use the following style names to determine the size / placement of the buttons
    // MyScrollbarleftbutton    - Name of style used for the left button.
    // MyScrollbarrightbutton - Name of style used for the right button.
    // MyScrollbarthumb         - Name of style used for the draggable thumb.
    void OnGUI()
    {
        scrollPos = GUILayout.HorizontalScrollbar(scrollPos, 1, 0, 100, "MyScrollbar");
    }
}
```

Additional Resources: [GUILayout.BeginScrollView](/engine/6000.6/script-reference/unityengine/guilayout/beginscrollview.md), [GUILayout.VerticalScrollbar](/engine/6000.6/script-reference/unityengine/guilayout/verticalscrollbar.md).
