public override void OnInspectorGUI() { if (!RenderProfileHeader(ProfileTitle, ProfileDescription, target, true, BackProfileType.Input)) { return; } using (new EditorGUI.DisabledGroupScope(IsProfileLock((BaseMixedRealityProfile)target))) { serializedObject.Update(); EditorGUILayout.Space(); EditorGUILayout.PropertyField(pointingExtent); EditorGUILayout.PropertyField(pointingRaycastLayerMasks, RaycastLayerMaskContent, true); EditorGUILayout.PropertyField(pointerMediator); EditorGUILayout.PropertyField(primaryPointerSelector); GUIStyle boldFoldout = new GUIStyle(EditorStyles.foldout) { fontStyle = FontStyle.Bold }; EditorGUILayout.Space(); EditorGUILayout.LabelField("Gaze Settings", EditorStyles.boldLabel); { EditorGUILayout.Space(); EditorGUILayout.PropertyField(gazeCursorPrefab, GazeCursorPrefabContent); EditorGUILayout.PropertyField(gazeProviderType); EditorGUILayout.PropertyField(useHeadGazeOverride); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(useEyeTrackingDataWhenAvailable, UseEyeTrackingDataContent); // Render a help link for getting started with eyetracking documentation string helpURL = "https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/input/eye-tracking/eye-tracking-basic-setup"; InspectorUIUtility.RenderDocumentationButton(helpURL); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); var gazeProvider = CameraCache.Main.GetComponent <IMixedRealityGazeProvider>(); CreateCachedEditor((Object)gazeProvider, null, ref gazeProviderEditor); showGazeProviderProperties = EditorGUILayout.Foldout(showGazeProviderProperties, "Gaze Provider Settings", true, boldFoldout); if (showGazeProviderProperties && !gazeProviderEditor.IsNull()) { gazeProviderEditor.OnInspectorGUI(); } } EditorGUILayout.Space(); showPointerOptionProperties = EditorGUILayout.Foldout(showPointerOptionProperties, "Pointer Options", true, boldFoldout); if (showPointerOptionProperties) { using (new EditorGUI.IndentLevelScope()) { RenderPointerList(pointerOptions); } } EditorGUILayout.Space(); EditorGUILayout.LabelField("Debug Settings", EditorStyles.boldLabel); { EditorGUILayout.PropertyField(debugDrawPointingRays); EditorGUILayout.PropertyField(debugDrawPointingRayColors, true); } serializedObject.ApplyModifiedProperties(); } }