Unity provides the following user interface (UI) toolkits for creating UI(User Interface) Allows a user to interact with your application. More info See in Glossary in either the Unity Editor or in a game or application:
UIElements: User Interface Elements (UIElements) is a retained-mode UI toolkit for developing user interfaces in the Unity Editor. UIElements is based on recognized web technologies and supports stylesheets, dynamic and contextual event handling, and data persistence.
Unity UI: Unity User Interface (Unity UI) is a simple UI toolkit for developing user interfaces for games and applications. Unity UI is a GameObject-based UI system that uses components and the Game View to arrange, position, and style the user interface. You cannot use Unity UI for user interfaces within the Unity Editor.
IMGUI: Immediate Mode Graphical User Interface is a code-driven UI toolkit that is mainly intended as a tool for developers. IMGUI uses the OnGUI function, and scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info See in Glossary that implement the OnGUI function, to draw and manage its user interface. IMGUI is used for creating in-game debugging displays, custom inspectorsA Unity window that displays information about the currently selected GameObject, Asset or Project Settings, alowing you to inspect and edit the values. More info See in Glossary for script components, and editor windows or tools that extend the Unity Editor. It is not recommended for game or application user interfaces.
Selecting a UI toolkit
You should select a UI toolkit based on your answers to the following questions:
* Are you developing for a game or application, or a tool or extension to the Unity Editor?
* If you are developing for a game or application, are you shipping the UI with the game or application?
Runtime dev UI
Runtime game UI
Unity Editor
UIElements
TBD
TBD
✔
Unity UI
✔
✔
not available
IMGUI
for debugging
not recommmended
✔
Disclaimer
UIElements is still in active development. It is poised to become the recommended UI toolkit for both in-game and Unity Editor UI development. Until then, there are some features that are available in Unity UI and IMGUI that have yet to be added to UIElements.
In addition, changes to UIElements might not be backported to previous versions of Unity. If you upgrade, you will also need to upgrade your interface from previous Unity versions.
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!