public override void OnInspectorGUI() { // Update the serializedProperty - always do this in the beginning of OnInspectorGUI. serializedObject.Update(); EditorGUI.indentLevel = 0; EditorGUILayout.Space(); base.OnInspectorGUI(); // EditorGUILayout.PropertyField(RootProperty); // EditorGUILayout.PropertyField(StartProperty); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Clean Maze", GUILayout.ExpandWidth(false))) { _mazeGenerator.CleanMaze(); } if (GUILayout.Button("Build Layout", GUILayout.ExpandWidth(false))) { _mazeGenerator.BuildLayout(); } if (GUILayout.Button("Build Maze", GUILayout.ExpandWidth(false))) { _mazeGenerator.BuildMaze(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Clean Game", GUILayout.ExpandWidth(false))) { _mazeGenerator.CleanGame(); } if (GUILayout.Button("Build Game", GUILayout.ExpandWidth(false))) { _mazeGenerator.BuildGame(); } EditorGUILayout.EndHorizontal(); // Apply changes to the serializedProperty - always do this in the end of OnInspectorGUI. serializedObject.ApplyModifiedProperties(); }