# GUI.ScrollViewScope

> Disposable helper class for managing GUI.BeginScrollView / GUI.EndScrollView.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine](/engine/6000.5/script-reference/unityengine.md)
* **Assembly:** UnityEngine.IMGUIModule
* **Inherits from:** Scope
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public class GUI.ScrollViewScope : GUI.Scope, IDisposable
```

## Remarks

[GUI.BeginScrollView](/engine/6000.5/script-reference/unityengine/gui/beginscrollview.md) is called at construction, and [GUI.EndScrollView](/engine/6000.5/script-reference/unityengine/gui/endscrollview.md) is called when the instance is disposed. ScrollViews let you make a smaller area on-screen look 'into' a much larger area, using scrollbars placed on the sides of the ScrollView.

## Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    // The position of the scrolling viewport
    public Vector2 scrollPosition = Vector2.zero;
    void OnGUI()
    {
        // An absolute-positioned example: We make a scrollview that has a really large client
        // rect and put it in a small rect on the screen.
        using (var scrollScope = new GUI.ScrollViewScope(new Rect(10, 300, 100, 100), scrollPosition, new Rect(0, 0, 220, 200)))
        {
            scrollPosition = scrollScope.scrollPosition;

            // Make four buttons - one in each corner. The coordinate system is defined
            // by the last parameter to the ScrollScope constructor.
            GUI.Button(new Rect(0, 0, 100, 20), "Top-left");
            GUI.Button(new Rect(120, 0, 100, 20), "Top-right");
            GUI.Button(new Rect(0, 180, 100, 20), "Bottom-left");
            GUI.Button(new Rect(120, 180, 100, 20), "Bottom-right");
        }
        // Now the scroll view is ended.
    }
}
```

## Constructors

| Constructor                                                                                                                                                                                                                                                                                | Description                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |
| [ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect)](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/ctor.md#scrollviewscope\(rect-vector2-rect\))                                                                                                     | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| [ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,System.Boolean,System.Boolean)](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/ctor.md#scrollviewscope\(rect-vector2-rect-bool-bool\))                                                             | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| [ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,System.Boolean,System.Boolean,UnityEngine.GUIStyle,UnityEngine.GUIStyle)](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/ctor.md#scrollviewscope\(rect-vector2-rect-bool-bool-guistyle-guistyle\)) | Create a new ScrollViewScope and begin the corresponding ScrollView. |
| [ScrollViewScope(UnityEngine.Rect,UnityEngine.Vector2,UnityEngine.Rect,UnityEngine.GUIStyle,UnityEngine.GUIStyle)](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/ctor.md#scrollviewscope\(rect-vector2-rect-guistyle-guistyle\))                                         | Create a new ScrollViewScope and begin the corresponding ScrollView. |

## Properties

| Property                                                                                                  | Description                                                                                         |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [handleScrollWheel](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/handlescrollwheel.md) | Whether this ScrollView should handle scroll wheel events. (default: true).                         |
| [scrollPosition](/engine/6000.5/script-reference/unityengine/gui/scrollviewscope/scrollposition.md)       | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
