Version: 5.4 beta (switch to 5.3)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

GUI.depth

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static var depth: int;
public static int depth;

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.

// 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;
		}
	}
}

And copy this other example to another script:

// 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;
		}
	}
}