private void SetControllerVisible(bool visible)
        {
            controllerVisible = visible;
            Drop();
#if WEBXR_INPUT_PROFILES
            // We want to use WebXR Input Profiles
            if (visible && useInputProfile)
            {
                SetInputProfileModelPose(controller.GetAlwaysUseGrip());
                if (inputProfileModel != null && loadedModel)
                {
                    // There's a loaded Input Profile Model
                    inputProfileModelParent.SetActive(true);
                    UpdateModelInput();
                    return;
                }
                else if (inputProfileModel == null)
                {
                    // There's no loaded Input Profile Model and it's not in loading process
                    LoadInputProfile();
                }
            }
            else
            {
                inputProfileModelParent.SetActive(false);
            }
#endif
            foreach (var visual in controllerVisuals)
            {
                visual.SetActive(visible);
            }
            if (!visible)
            {
                contactRigidBodies.Clear();
            }
        }