private void Awake()
        {
            if (instance != null)
            {
#if UNITY_EDITOR
                DestroyImmediate(gameObject);
#else
                Destroy(gameObject);
#endif
                return;
            }

            instance = this;

            DontDestroyOnLoad(gameObject);
        }
        private void OnDestroy()
        {
            if (instance == this)
            {
                instance = null;

                OnDominantHandChanged            = null;
                OnInputLayoutChanged             = null;
                OnRotationModeChanged            = null;
                OnSnapRotationDegreesChanged     = null;
                OnSmoothRotationSpeedChanged     = null;
                OnMovementOrientationModeChanged = null;
                OnRoomSetupChanged           = null;
                OnFOVBlindersEnabledChanged  = null;
                OnFOVBlindersStrengthChanged = null;
            }
        }