GUI.BeginGroup Manual     Reference     Scripting  
Scripting > Runtime Classes > GUI
GUI.BeginGroup

static function BeginGroup (position : Rect) : void

static function BeginGroup (position : Rect, text : String) : void

static function BeginGroup (position : Rect, image : Texture) : void

static function BeginGroup (position : Rect, content : GUIContent) : void

static function BeginGroup (position : Rect, style : GUIStyle) : void

static function BeginGroup (position : Rect, text : String, style : GUIStyle) : void

static function BeginGroup (position : Rect, image : Texture, style : GUIStyle) : void

static function BeginGroup (position : Rect, content : GUIContent, style : GUIStyle) : void

Parameters

NameDescription
position Rectangle on the screen to use for the group.
text Text to display on the group.
image Texture to display on the group.
content Text, image and tooltip for this group. If supplied, any mouse clicks are "captured" by the group and not If left out, no background is rendered, and mouse clicks are passed
style The style to use for the background.

Description

Begin a group. Must be matched with a call to EndGroup.

When you begin a group, the coordinate system for GUI controls are set so (0,0) is the top-left corner of the group. All controls are clipped to the group. Groups can be nested - if they are, children are clipped to their parents.

This is very useful when moving a bunch of GUI elements around on screen. A common use case is designing your menus to fit on a specific screen size, then centering the GUI on larger displays. See Also: matrix, BeginScrollView.

JavaScript
function OnGUI () {
// Constrain all drawing to be within a 800x600 pixel area centered on the screen.
GUI.BeginGroup (new Rect (Screen.width / 2 - 400, Screen.height / 2 - 300, 800, 600));

// Draw a box in the new coordinate space defined by the BeginGroup.
// Notice how (0,0) has now been moved on-screen
GUI.Box (new Rect (0,0,800,600),
"This box is now centered! - here you would put your main menu");

// We need to match all BeginGroup calls with an EndGroup
GUI.EndGroup ();
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void OnGUI() {
GUI.BeginGroup(new Rect(Screen.width / 2 - 400, Screen.height / 2 - 300, 800, 600));
GUI.Box(new Rect(0, 0, 800, 600), "This box is now centered! - here you would put your main menu");
GUI.EndGroup();
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def OnGUI():
GUI.BeginGroup(Rect(((Screen.width / 2) - 400), ((Screen.height / 2) - 300), 800, 600))
GUI.Box(Rect(0, 0, 800, 600), 'This box is now centered! - here you would put your main menu')
GUI.EndGroup()