The EditorPrefs class allows us to modify some properties of the Unity Editor that’s not modifiable anywhere else, but this isn’t documented anywhere.
As an example, the property “kAutoRefresh” controls the editor’s autoRefersh property:
Toggled like this:
EditorPrefs.SetBool("kAutoRefresh", true/false);
I’m assuming that the other toggles there (and a bunch of other properties) are controlled by EditorPrefs. It’d be really nice if all of the properties that are available to the user either were written down somewhere, or (preferably) were exposed in a more intuitive way.
There’s also the (very slight) possibility that a user might use “kAutoRefresh” or another, pre-used variable name for their own editor script, which would Break Things and Be Bad.
There are a few simple things you can do if you want to “reverse engineer” the editor like that:
Use a decompiler, such as Reflector, DotPeek or any other tool that allows you to decompile managed (C#) code.
Look for all usages of EditorPrefs.SetXXXX and EditorPrefs.GetXXXX. This should get you all the different keys that the editor uses, as well as the exact scenario in which it is used (should be pretty straightforward to understand what each value does).
Note that it may be a pretty lengthy process (there are probably many different usages).
Using MonoDevelop and a few function breakpoints, setup as shown in this image:
since MonoDevelop allows setting up function breakpoints, even for code you don’t have (e.g: UnityEditor), you can set up breakpoints for the EditorPrefs methods and have each breakpoint that fires print a simple message (see on the right).
Voila! you get many different keys that the editor uses. Note that in this case, you are missing the “context” - that is, what the actual key means…