private void InteractableObjectGrabbed(object sender, InteractableObjectEventArgs e)
    {
        controllerEvents = e.interactingObject.GetComponent <VRTK_ControllerEvents>();

        if (teleportDisabler)
        {
            teleportDisabler.AddDisabler(controllerEvents, gameObject);
        }
        else
        {
            foreach (var teleporter in controllerEvents.GetComponentsInChildren <VRTK_Pointer>())
            {
                teleporter.enabled = false;
            }
        }

        controllerEvents.TouchpadPressed += ControllerEvents_TriggerClicked;
    }
    private void InteractableObjectUngrabbed(object sender, InteractableObjectEventArgs e)
    {
        if (!controllerEvents)
        {
            return;
        }

        if (teleportDisabler)
        {
            teleportDisabler.RemoveDisabler(controllerEvents, gameObject);
        }
        else
        {
            foreach (var teleporter in controllerEvents.GetComponentsInChildren <VRTK_Pointer>())
            {
                teleporter.enabled = true;
            }
        }

        controllerEvents.TouchpadPressed -= ControllerEvents_TriggerClicked;
        controllerEvents = null;
    }