Gui.Depth: Need help figuring out Drag Drop Inventory System

Hello All,
I’m trying to figure out how the best way to go about writing a drag and drop inventory system. This would be used for dropping items into the 3D world and switching slots in the inventory. This is some very basic code of what I’m trying to do. I don’t know how the rest of the Unity gui works with drag and drop, so I’m forced to use Gui element. Problem is that is drawn behind Unity3D GUI Elements in AutoLayout, and Manual Layout. Unity GUI doesn’t seem to handle drag and drop elements, but it does allow you to change the depth.

How do I properly change the draw depth of the GUI Element?

public class Drag_and_Drop_Handler : MonoBehaviour {
	public static int Gui_Depth = -8;
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}

	void OnMouseDrag(){
		guiTexture.pixelInset = new Rect (Input.mousePosition.x, Input.mousePosition.y - guiTexture.pixelInset.height, guiTexture.pixelInset.width, guiTexture.pixelInset.height);
		
	}
	void OnGUI(){
		GUI.depth = Gui_Depth;
	}
}

I’ve investigated this problem, from unity answers and other sources such as youtube, Unity’s GUI.functions and GUI elements aren’t compatible with depth drawing issues, GUI Elements seem to always be drawn behind. So its my mistake for trying to include them both in the GUI.
I just needed to Google with the right keywords.
Angry Ant’s response below was very helpful.
http://forum.unity3d.com/threads/20139-Drag-and-Drop-GUI-Functionality

That’s right. If you want to drag stuff on top of UnityGUI, it has to be rendered with UnityGUI and it has to be rendered LAST.

That or you can kiss all UnityGUIs time-saving functions goodbye by using GuiElements ONLY to do the same stuff from scratch. I used a GUILabel and Rect.Contains(Vector3) for each gui label to build a drag and drop utility from mouse events. Very time consuming.

I personally like UnityGUI very much (but I also understand the draw-call issues).

btw check out this demo, showing a variant of drag&drop (made with UnityGUI in its core).