Gui cursor to interact with game objects

Im using the Kinect sdk dll and i wish to have my onGUI cursor interact with game objects that i have such as planes, is this even possible. im fairly new to unity and i have searched around and haven found any luck, i do understand the use of gui is that is simply meant to be on the screen at all times and that it doesnt relate to world space, if this cant be done is there any sort of work around.

The cod below is my cursor class whihc takes the position of the left hand on the kinect

using UnityEngine;
using System;
using System.Collections;

public class Cursor : MonoBehaviour {
	
	
	
	
	
	public SkeletonWrapper sw;
	public Vector3 distance;
	
	public float moveSpeed =2f;
	public Texture2D cursor;
	public GameObject Play_Game;
	
	
	// Use this for initialization

		float differencex = 0;
		float differencey = 0;
	
	void Start () {
		
		distance =new Vector3(0f,0f,0f);
		
	}
	// Update is called once per frame
	void Update () {
		
		
		if (sw.pollSkeleton())
		{
			distance.x=sw.bonePos[0,2].x - sw.bonePos[0,7].x;//5 is left shoulder
			distance.y=sw.bonePos[0,0].y -sw.bonePos[0,7].y;
	
			
			
			float width = sw.bonePos[0,5].x+ sw.bonePos[0,9].x;
			float height =sw.bonePos[0,4].y- sw.bonePos[0,0].y;
			float heightdiv= (height/2)+sw.bonePos[0,0].y;
			
	
		
		
			
		
			if(sw.bonePos[0,7].x<sw.bonePos[0,5].x)
			{
				//distance being 0.2053766 * -0.5f
				 differencex = -0.4f*distance.x;
				//difference being -0.1026883
				//Debug.Log("hand is over by the left");
				if(sw.bonePos[0,7].y<heightdiv){
					differencey=0.4f*distance.y;
					Debug.Log("The hand is low, the difference is :"+differencey);
				}
				else if(sw.bonePos[0,7].y >heightdiv){
					differencey=1.0f*distance.y;
				//the left hand is high
				}
				
			}
			if(sw.bonePos[0,7].x>=sw.bonePos[0,5].x)
			{
				differencex = -1.0f*distance.x;
				if(sw.bonePos[0,7].y<heightdiv){
					differencey=-0.4f*distance.y;
				}
				else if(sw.bonePos[0,7].y >=heightdiv){
					differencey=1.0f*distance.y;
				}
				
			
				
			}

			
			 
		
		}
	
	
	}
	void OnCollisionEnter(Collision Other)
	{
		foreach(ContactPoint contact in Other.contacts){
			Debug.DrawRay(contact.point, contact.normal,Color.white);
		}
		
		
		
	}
	
	void OnGUI() {

		Rect r = new Rect(Screen.width * (differencex + 0.3f),(differencey +0.5f)*Screen.height,50,50);
	
		GUI.Label(r,cursor);

	}
}

what package are you using?

Does the package affect what the gui does ?
Im using a Kinect Wrapper package http://wiki.etc.cmu.edu/unity3d/index.php/Microsoft_Kinect_-_Microsoft_SDK
Im currently as a work around translating a object in the 3d world…