PreferenceItemNamespace: UnityEditor
Description

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.
public class OurPreferences {
	// Have we loaded the prefs yet
	private static var prefsLoaded : boolean = false;
	
	// The Preferences
	public static var boolPreference : boolean = false;
	
	// Add preferences section named "My Preferences" to the Preferences Window
	@PreferenceItem ("My Preferences")
	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);
	}
}
Constructors
PreferenceItem Creates a section in the Preferences Window called name and invokes the static function following it for the section's GUI.