SelectionGrid
Make a Selection Grid.
Read time 6 minutesLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.IMGUIModule
SelectionGrid(int, string[], int, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, string[] texts, int xCount, params GUILayoutOption[] options)
Parameters
The index of the selected button.
An array of strings to show on the buttons.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}
SelectionGrid(int, Texture[], int, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, Texture[] images, int xCount, params GUILayoutOption[] options)
Parameters
The index of the selected button.
An array of textures on the buttons.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}
SelectionGrid(int, GUIContent[], int, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, GUIContent[] content, int xCount, params GUILayoutOption[] options)
Parameters
The index of the selected button.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}
SelectionGrid(int, string[], int, GUIStyle, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, string[] texts, int xCount, GUIStyle style, params GUILayoutOption[] options)
Parameters
The index of the selected button.
An array of strings to show on the buttons.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}
SelectionGrid(int, Texture[], int, GUIStyle, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, Texture[] images, int xCount, GUIStyle style, params GUILayoutOption[] options)
Parameters
The index of the selected button.
An array of textures on the buttons.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}
SelectionGrid(int, GUIContent[], int, GUIStyle, GUILayoutOption[])
Make a Selection Grid.
public static int SelectionGrid(int selected, GUIContent[] contents, int xCount, GUIStyle style, params GUILayoutOption[] options)
Parameters
The index of the selected button.
An array of text, image and tooltips for the button.
How many elements to fit in the horizontal direction. The elements will be scaled to fit unless the style defines a fixedWidth to use. The height of the control will be determined from the number of elements.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the .
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
styleGUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
Returns
Type | Description |
|---|---|
| int | The index of the selected button. |
Remarks

Selection grid in the Game View.
Additional Resources: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3"}; void OnGUI() { GUILayout.BeginVertical("Box"); selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1); if (GUILayout.Button("Start")) { Debug.Log("You chose " + selStrings[selGridInt]); } GUILayout.EndVertical(); }}