Unity provides the following user interface (UI) toolkits for creating UI in either the Unity Editor or in an application:
OnGUIfunction (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 Inspectors 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.
You should select a UI toolkit based on your answers to the following questions:
|Runtime dev UI||Runtime game UI||Unity Editor|
|Unity UI||✔||✔||not available|
|IMGUI||for debugging||not recommmended||✔|
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.