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

static var depth : int

Description

The sorting depth of the currently executing GUI behaviour.

Set this to determine ordering when you have different scripts running simultaneously. GUI elements drawn with lower depth values will appear on top of elements with higher values (ie, you can think of the depth as "distance" from the camera).

Note:To see this example working, you will need to create 2 scripts. Remember to name the scripts with the same name as the class names, else it will not work.


One Button behind the other.

JavaScript
// Makes this button go back in depth over the example2 class one.

class example1 extends MonoBehaviour {
static var guiDepth : int = 0;
function OnGUI() {
GUI.depth = guiDepth;
if(GUI.RepeatButton(Rect(0,0,100,100), "GoBack")) {
guiDepth = 1;
example2.guiDepth = 0;
}
}
}

using UnityEngine;
using System.Collections;

public class example1 : MonoBehaviour {
public static int guiDepth = 0;
void OnGUI() {
GUI.depth = guiDepth;
if (GUI.RepeatButton(new Rect(0, 0, 100, 100), "GoBack")) {
guiDepth = 1;
example2.guiDepth = 0;
}
}
}
public class example : MonoBehaviour {
}

import UnityEngine
import System.Collections

class example1(MonoBehaviour):

public static guiDepth as int = 0

def OnGUI():
GUI.depth = guiDepth
if GUI.RepeatButton(Rect(0, 0, 100, 100), 'GoBack'):
guiDepth = 1
example2.guiDepth = 0

class example(MonoBehaviour):
pass

And copy this other example to another script:

JavaScript
// Makes this button go back in depth over the example1 class one.

class example2 extends MonoBehaviour {
static var guiDepth : int = 1;
function OnGUI() {
GUI.depth = guiDepth;
if(GUI.RepeatButton(Rect(50,50,100,100), "GoBack")) {
guiDepth = 1;
example1.guiDepth = 0;
}
}
}

using UnityEngine;
using System.Collections;

public class example2 : MonoBehaviour {
public static int guiDepth = 1;
void OnGUI() {
GUI.depth = guiDepth;
if (GUI.RepeatButton(new Rect(50, 50, 100, 100), "GoBack")) {
guiDepth = 1;
example1.guiDepth = 0;
}
}
}
public class example : MonoBehaviour {
}

import UnityEngine
import System.Collections

class example2(MonoBehaviour):

public static guiDepth as int = 1

def OnGUI():
GUI.depth = guiDepth
if GUI.RepeatButton(Rect(50, 50, 100, 100), 'GoBack'):
guiDepth = 1
example1.guiDepth = 0

class example(MonoBehaviour):
pass