BeginScrollView
Begin an automatically laid out scrollview.
Read time 6 minutesLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor
BeginScrollView(Vector2, GUILayoutOption[])
Begin an automatically laid out scrollview.
public static Vector2 BeginScrollView(Vector2 scrollPosition, params GUILayoutOption[] options)
Parameters
Returns
Type | Description |
|---|---|
| Vector2 | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
Remarks
These work just like GUILayout.BeginScrollView but feel more application-like and should be used in the editor

Label inside a scroll view.
Examples
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BeginScrollViewExample : EditorWindow{ Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Modify internal Quaternion")] static void Init() { BeginScrollViewExample window = (BeginScrollViewExample)EditorWindow.GetWindow(typeof(BeginScrollViewExample), true, "My Empty Window"); window.Show(); } void OnGUI() { EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); GUILayout.Label(t); EditorGUILayout.EndScrollView(); if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Clear")) t = ""; }}
BeginScrollView(Vector2, bool, bool, GUILayoutOption[])
Begin an automatically laid out scrollview.
public static Vector2 BeginScrollView(Vector2 scrollPosition, bool alwaysShowHorizontal, bool alwaysShowVertical, params GUILayoutOption[] options)
Parameters
The position to use display.
Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
Returns
Type | Description |
|---|---|
| Vector2 | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
Remarks
These work just like GUILayout.BeginScrollView but feel more application-like and should be used in the editor

Label inside a scroll view.
Examples
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BeginScrollViewExample : EditorWindow{ Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Modify internal Quaternion")] static void Init() { BeginScrollViewExample window = (BeginScrollViewExample)EditorWindow.GetWindow(typeof(BeginScrollViewExample), true, "My Empty Window"); window.Show(); } void OnGUI() { EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); GUILayout.Label(t); EditorGUILayout.EndScrollView(); if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Clear")) t = ""; }}
BeginScrollView(Vector2, GUIStyle, GUIStyle, GUILayoutOption[])
Begin an automatically laid out scrollview.
public static Vector2 BeginScrollView(Vector2 scrollPosition, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar, params GUILayoutOption[] options)
Parameters
The position to use display.
Returns
Type | Description |
|---|---|
| Vector2 | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
Remarks
These work just like GUILayout.BeginScrollView but feel more application-like and should be used in the editor

Label inside a scroll view.
Examples
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BeginScrollViewExample : EditorWindow{ Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Modify internal Quaternion")] static void Init() { BeginScrollViewExample window = (BeginScrollViewExample)EditorWindow.GetWindow(typeof(BeginScrollViewExample), true, "My Empty Window"); window.Show(); } void OnGUI() { EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); GUILayout.Label(t); EditorGUILayout.EndScrollView(); if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Clear")) t = ""; }}
BeginScrollView(Vector2, GUIStyle, GUILayoutOption[])
Begin an automatically laid out scrollview.
public static Vector2 BeginScrollView(Vector2 scrollPosition, GUIStyle style, params GUILayoutOption[] options)
Parameters
The position to use display.
Returns
Type | Description |
|---|---|
| Vector2 | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
Remarks
These work just like GUILayout.BeginScrollView but feel more application-like and should be used in the editor

Label inside a scroll view.
Examples
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BeginScrollViewExample : EditorWindow{ Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Modify internal Quaternion")] static void Init() { BeginScrollViewExample window = (BeginScrollViewExample)EditorWindow.GetWindow(typeof(BeginScrollViewExample), true, "My Empty Window"); window.Show(); } void OnGUI() { EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); GUILayout.Label(t); EditorGUILayout.EndScrollView(); if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Clear")) t = ""; }}
BeginScrollView(Vector2, bool, bool, GUIStyle, GUIStyle, GUIStyle, GUILayoutOption[])
Begin an automatically laid out scrollview.
public static Vector2 BeginScrollView(Vector2 scrollPosition, bool alwaysShowHorizontal, bool alwaysShowVertical, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar, GUIStyle background, params GUILayoutOption[] options)
Parameters
The position to use display.
Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when the content inside the ScrollView is wider than the scrollview itself.
Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when content inside the ScrollView is taller than the scrollview itself.
Returns
Type | Description |
|---|---|
| Vector2 | The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example. |
Remarks
These work just like GUILayout.BeginScrollView but feel more application-like and should be used in the editor

Label inside a scroll view.
Examples
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class BeginScrollViewExample : EditorWindow{ Vector2 scrollPos; string t = "This is a string inside a Scroll view!"; [MenuItem("Examples/Modify internal Quaternion")] static void Init() { BeginScrollViewExample window = (BeginScrollViewExample)EditorWindow.GetWindow(typeof(BeginScrollViewExample), true, "My Empty Window"); window.Show(); } void OnGUI() { EditorGUILayout.BeginHorizontal(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(100), GUILayout.Height(100)); GUILayout.Label(t); EditorGUILayout.EndScrollView(); if (GUILayout.Button("Add More Text", GUILayout.Width(100), GUILayout.Height(100))) t += " \nAnd this is more text!"; EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Clear")) t = ""; }}