void Awake()
    {
        ScaledWorldGrab grab = GetComponent <ScaledWorldGrab>();

        if (grab.controllerRight != null || grab.controllerLeft != null)
        {
            // Only needs to set up once so will return otherwise
            return;
        }

        GameObject leftController = null, rightController = null, head = null, rig = null;

#if SteamVR_Legacy
        SteamVR_ControllerManager CameraRigObject = FindObjectOfType <SteamVR_ControllerManager>();
        if ((CameraRigObject = FindObjectOfType <SteamVR_ControllerManager>()) != null)
        {
            leftController       = CameraRigObject.left;
            rightController      = CameraRigObject.right;
            grab.controllerRight = rightController;
            grab.controllerLeft  = leftController;
            grab.cameraHead      = FindObjectOfType <SteamVR_Camera>().gameObject;
            grab.cameraRig       = CameraRigObject.gameObject;
        }
#elif SteamVR_2
        SteamVR_Behaviour_Pose[] controllers      = FindObjectsOfType <SteamVR_Behaviour_Pose>();
        if (controllers.Length > 1)
        {
            leftController  = controllers[0].inputSource.ToString() == "LeftHand" ? controllers[0].gameObject : controllers[1].inputSource.ToString() == "LeftHand" ? controllers[1].gameObject : null;
            rightController = controllers[0].inputSource.ToString() == "RightHand" ? controllers[0].gameObject : controllers[1].inputSource.ToString() == "RightHand" ? controllers[1].gameObject : null;
        }
        else
        {
            leftController  = controllers[0].inputSource.ToString() == "LeftHand" ? controllers[0].gameObject : null;
            rightController = controllers[0].inputSource.ToString() == "RightHand" ? controllers[0].gameObject : null;
        }
        if (controllers[0] != null)
        {
            head = controllers[0].transform.parent.GetComponentInChildren <Camera>().gameObject;
            rig  = controllers[0].transform.parent.gameObject;
        }
        grab.controllerRight = rightController;
        grab.controllerLeft  = leftController;
        grab.cameraHead      = head;
        grab.cameraRig       = rig;
#endif
    }
 // Use this for initialization
 void Start()
 {
     scaledWorldGrab = GameObject.Find("ScaledWorldGrab_Technique").GetComponent <ScaledWorldGrab>();
 }