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.
#pragma strict public class ExampleScript extends MonoBehaviour { private static var prefsLoaded: boolean = false; public static var boolPreference: boolean = false; // Add preferences section named "My Preferences" to the Preferences Window @PreferenceItem("My Preferences") public static function 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); } }
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. |