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 an 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 scripts that implement the OnGUI function) to draw and manage its user interface. You can use IMGUI to create 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 windows or tools that extend the Unity Editor. It’s not the best option for building the UI of your game or application.
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 are not in UIElements.
In addition, changes to UIElements might not exist in previous versions of Unity. If you upgrade, you might also need to upgrade your interface from previous Unity versions.
2019–02–22 Page amended
Did you find this page useful? Please give it a rating:
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!