The PreferenceItem attribute allows you to add preferences sections to the Preferences Window.
The PreferenceItem attribute turns any static function into an OnGUI callback. Only static functions can use the PreferenceItem attribute.
using UnityEngine; using UnityEditor;
public class ExampleScript : MonoBehaviour { // Have we loaded the prefs yet private static bool prefsLoaded = false;
// The Preferences public static bool boolPreference = false;
// Add preferences section named "My Preferences" to the Preferences Window [PreferenceItem("My Preferences")]
public static void PreferencesGUI() { // Load the preferences if (!prefsLoaded) { boolPreference = EditorPrefs.GetBool("BoolPreferenceKey", false); prefsLoaded = true; }
// Preferences GUI boolPreference = EditorGUILayout.Toggle("Bool Preference", boolPreference);
// Save the preferences if (GUI.changed) EditorPrefs.SetBool("BoolPreferenceKey", boolPreference); } }
PreferenceItem | Creates a section in the Preferences Window called name and invokes the static function following it for the section's GUI. |