protected override void OnEnable()
        {
            base.OnEnable();
            isInitialized = false;

            gestures = serializedObject.FindProperty("gestures");
            windowsManipulationGestureSettings = serializedObject.FindProperty("manipulationGestures");
            useRailsNavigation = serializedObject.FindProperty("useRailsNavigation");
            windowsNavigationGestureSettings = serializedObject.FindProperty("navigationGestures");
            windowsRailsNavigationGestures   = serializedObject.FindProperty("railsNavigationGestures");
            windowsGestureAutoStart          = serializedObject.FindProperty("windowsGestureAutoStart");

            thisProfile = target as MixedRealityGesturesProfile;
            Debug.Assert(thisProfile != null);

            UpdateGestureLabels();

            if (!IsProfileInActiveInstance() ||
                MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile.InputActionsProfile == null)
            {
                return;
            }

            var inputActions = MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile.InputActionsProfile.InputActions;

            actionLabels = inputActions.Select(action => new GUIContent(action.Description)).Prepend(new GUIContent("None")).ToArray();
            actionIds    = inputActions.Select(action => (int)action.Id).Prepend(0).ToArray();

            isInitialized = true;
        }
        protected override void OnEnable()
        {
            base.OnEnable();

            if (!MixedRealityInspectorUtility.CheckMixedRealityConfigured(false))
            {
                return;
            }

            gestures = serializedObject.FindProperty("gestures");
            windowsManipulationGestureSettings = serializedObject.FindProperty("manipulationGestures");
            useRailsNavigation = serializedObject.FindProperty("useRailsNavigation");
            windowsNavigationGestureSettings = serializedObject.FindProperty("navigationGestures");
            windowsRailsNavigationGestures   = serializedObject.FindProperty("railsNavigationGestures");
            windowsGestureAutoStart          = serializedObject.FindProperty("windowsGestureAutoStart");

            thisProfile = target as MixedRealityGesturesProfile;
            Debug.Assert(thisProfile != null);

            if (MixedRealityToolkit.Instance.ActiveProfile.IsInputSystemEnabled &&
                MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile.InputActionsProfile != null)
            {
                actionLabels = MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile.InputActionsProfile.InputActions
                               .Select(action => new GUIContent(action.Description))
                               .Prepend(new GUIContent("None")).ToArray();
                actionIds = MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile.InputActionsProfile.InputActions
                            .Select(action => (int)action.Id)
                            .Prepend(0).ToArray();
            }

            UpdateGestureLabels();
        }
        protected override void OnEnable()
        {
            base.OnEnable();

            gestures = serializedObject.FindProperty("gestures");

            gesturesProfile = target as MixedRealityGesturesProfile;
            Debug.Assert(gesturesProfile != null);

            inputSystemProfile = gesturesProfile.ParentProfile as MixedRealityInputSystemProfile;
            Debug.Assert(inputSystemProfile != null);

            if (inputSystemProfile.InputActionsProfile != null)
            {
                actionLabels = inputSystemProfile.InputActionsProfile.InputActions
                               .Select(action => new GUIContent(action.Description))
                               .Prepend(new GUIContent("None")).ToArray();
                actionIds = inputSystemProfile.InputActionsProfile.InputActions
                            .Select(action => (int)action.Id)
                            .Prepend(0).ToArray();
            }

            UpdateGestureLabels();
        }