GUI, GUILayout, EditorGUI or EditorGUILayout?

So many options! Yet such a little difference!

Which one do I use in terms of flexibility and performance?

Thanks!

There’s a major different between the ones that end with -Layout and the ones that don’t.

The Layout ones will be automatically laid out by Unity: the positions of controls will be automatically calculated for you, whereas with the other set of classes, you will have to specify a Rect for the position of the UI control.

Other than that, i think that the EditorGUIxxx classes contain more types of controls than you can find for the runtime ones (these run only inside the editor).