private IEnumerator ActivateInstant(Vector3 pos)
    {
        m_isTeleporting = true;
        // Deactivate thumbstick movement and rotation
        ChangePlayerMovement(false, false);
        // Deactivate the pointer
        m_Pointer.TrulyDeactivate();
        // Perform the teleportation
        Vector3 destination = LocomoteDestinationFromFloor(pos);

        foreach (Rigidbody rb in m_rbs)
        {
            rb.isKinematic = false;
        }
        StartCoroutine(InstantTeleport(destination));
        // Wait until we stop teleporting
        while (m_isTeleporting)
        {
            yield return(null);
        }
        // Reset movement and rigidbodies upon movement completion
        foreach (Rigidbody rb in m_rbs)
        {
            rb.isKinematic = m_originalKinStat[rb.gameObject.GetInstanceID()];
        }
        m_Pointer.TrulyActivate();
        m_destinationTarget = null;
        ResetPlayerMovement();
    }