Version: 2020.3
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




The IMGUI module provides Unity's immediate mode GUI solution for creating in-game and editor user interfaces.

See Also: GUI tutorial.


EventA UnityGUI event.
ExitGUIExceptionAn exception that will prevent all subsequent immediate mode GUI functions from evaluating for the remainder of the GUI loop.
GUIThe GUI class is the interface for Unity's GUI with manual positioning.
GUIContentThe contents of a GUI element.
GUILayoutThe GUILayout class is the interface for Unity gui with automatic layout.
GUILayoutOptionClass internally used to pass layout options into GUILayout functions. You don't use these directly, but construct them with the layouting functions in the GUILayout class.
GUILayoutUtilityUtility functions for implementing and extending the GUILayout class.
GUISettingsGeneral settings for how the GUI behaves.
GUISkinDefines how GUI looks and behaves.
GUIStyleStyling information for GUI elements.
GUIStyleStateSpecialized values for the given states used by GUIStyle objects.
GUITargetAttributeAllows to control for which display the OnGUI is called.
GUIUtilityUtility class for making new GUI controls.


EventModifiersTypes of modifier key that can be active during a keystroke event.
EventTypeTypes of UnityGUI input and processing events.
FocusTypeUsed by GUIUtility.GetControlID to inform the IMGUI system if a given control can get keyboard focus. This allows the IMGUI system to give focus appropriately when a user presses tab for cycling between controls.
ImagePositionHow image and text is placed inside GUIStyle.
PointerTypePointer types.
ScaleModeScaling mode to draw textures with.
TextClippingDifferent methods for how the GUI system handles text being too large to fit the rectangle allocated.