Unity UI Toolkit
Расширьте возможности редактора, добавив в него пользовательские интерфейсы для интуитивно понятной разработки. Облегчайте совместную работу разных команд, создавая потрясающие интерфейсы для игр и приложений.
UI Toolkit содержит функции, ресурсы и инструменты для разработки пользовательских интерфейсов и расширений редактора. В версии LTS 2021 этот инструмент поддерживает создание и отладку интерфейса для среды выполнения в играх и приложениях с интуитивно понятным рабочим процессом. Это помогает художникам и дизайнерам быстрее приступать к работе.
Узнайте о функциях и возможностях UI Toolkit.

UI Toolkit включает специальные инструменты для разработки, такие как UI Builder и UI Debugger. Они создавались по примеру аналогичных веб-технологий. Инструмент UI Builder подходит для визуального проектирования и редактирования пользовательских интерфейсов игр и приложений прямо в Unity, а UI Debugger помогает быстро устранять проблемы.

TextMesh Pro — технология рендеринга шрифтов. Она была интегрирована в UI Toolkit, чтобы разработчики могли выполнять это действие без дополнительных плагинов и пакетов. Вам доступны расширенные возможности стилизации. Вы можете добавлять аккуратный и красивый текст с любым размером и разрешением.

UI Toolkit поставляется со специальной системой анимации интерфейса, которая упрощает создание переходов между интерфейсами в ваших проектах. Новая система также позволяет создавать переходы с возможностью повторного использования и большую часть анимации в интерфейсах, что экономит дизайнерам драгоценное время.

Настраивайте радиус, цвет, размер и текст границы, создавая элементы интерфейса без использования текстур непосредственно в UI Toolkit. Импортировать изображения из Photoshop больше не нужно. Такой подход значительно сокращает время, затрачиваемое на переключение между инструментами, а также уменьшает общее потребление памяти и размер сборки. Все это способствует более эффективному масштабированию.

UI Toolkit включает в себя структуру интерфейса с сохраненным режимом, которая облегчает разработку пользовательского интерфейса для расширений редактора Unity. Поэтому вы можете создавать уникальные окна и инспекторы для упрощения рабочих процессов художников, дизайнеров и программистов.
Другие преимущества
Быстрые итерации
Работайте и выполняйте итерацию быстрее благодаря глобальному управлению стилями и возможности творить в реальном времени.
Знакомые процессы
Инструменты разработки интерфейса и рабочие процессы основываются на стандартных веб-технологиях, благодаря чему к ним проще привыкнуть.
Улучшенная командная работа
Логика в коде C#, структура интерфейса в документах UXML и возможность редактировать стили в таблицах упрощают работу с различными частями интерфейса и позволяют избежать конфликтов.
Эффективность рендеринга
Получите больший контроль над производительностью игры с помощью подсказок по рендерингу и динамического атласа текстур.
Плодотворное сотрудничество
UI Toolkit можно использовать вместе с IMGUI для редактора и UGUI для времени выполнения. Инструмент также совместим с новой системой ввода Unity.
Повторное использование
Делитесь стилями и виджетами внутри одного или нескольких проектов, а также в редакторе и среде выполнения.
Хотя Unity рекомендует UI Toolkit для новых проектов по разработке интерфейса, все же есть случаи, когда имеет смысл использовать более старые системы — Unity UI (uGUI) и IMGUI. Сравните разные системы для работы с интерфейсом, чтобы выбрать наиболее подходящую.
Получите доступ к UI Toolkit LTS 2021 из Unity Hub или со страницы загрузки LTS, чтобы начать использовать интуитивно понятные инструменты разработки и совместные рабочие процессы в своих проектах.
Ресурсы

Узнайте, как начать работу с UI Toolkit, из этого пошагового руководства.

Документация
Ознакомьтесь с руководством от Unity, чтобы узнать больше об UI Toolkit.

Сообщество
Примите участие в обсуждениях на форуме сообщества и следите за новостями UI Toolkit в Unity.
Инструмент UI Toolkit рекомендуется в качестве альтернативы Unity UI. Он позволяет создавать интерфейсы наложения, совместимые с самыми разными разрешениями экрана. Он подойдет командам, которые работают со значительным количеством интерфейсов, хотят внедрить привычные рабочие процессы для художников и дизайнеров и/или выполнять рендеринг интерфейса без использования текстур.
Unity UI по умолчанию рекомендуется для пользователей, которые хотят создать интерфейс, расположенный и освещенный в трехмерном мире, а также VFX с пользовательскими шейдерами, материалами и простыми ссылками из классов MonoBehaviour.
Инструменты UI Toolkit и Unity UI совместимы между собой, поэтому вы можете переносить существующие проекты без необходимости переписывать весь интерфейс. Это означает, что вы можете воссоздать некоторые части существующего проекта с помощью UI Toolkit, оставив другие части в Unity UI, — и они будут работать вместе.
UI Toolkit в настоящее время не поддерживает элементы интерфейса, которые размещаются или освещаются в трехмерном мире. Однако можно сделать так, чтобы элементы интерфейса на экране следовали за объектами в системе World Space.
Вы можете взаимодействовать с UI Toolkit из систем DOTS в основном потоке, как и с другими встроенными функциями движка.
UI Toolkit пока не предоставляет решения для связывания данных. Значения элементов интерфейса нужно прописывать в коде C#. Мы добавим эту возможность в следующем крупном выпуске UI Toolkit.
Да. Несмотря на то, что экспериментальные версии пакетов официально не поддерживаются Unity и потому не рекомендуются для использования в производстве, UI Toolkit можно использовать с ассетами SVG (если у вас установлен пакет векторной графики).
Инструмент UI Toolkit доступен в рамках выпуска LTS 2021. Получить доступ к UI Toolkit можно в Unity Hub или на странице загрузки.
Мы создали UI Toolkit, чтобы предоставить единое решение для создания интерфейсов, которое будет соответствовать всем потребностям разработчиков и дизайнеров, работающих с инструментами редактора или интерактивными функциями.
Вы можете ознакомиться с планами развития платформы Unity и при желании предоставить обратную связь нашей команде.
Create user interfaces (UI)
Unity provides three UI (User Interface) Allows a user to interact with your application. Unity currently supports three UI systems. More info
See in Glossary systems that you can use to create user interfaces (UI) for the Unity Editor and applications made in the Unity Editor:
- UI Toolkit
- The Unity UI package (uGUI)
- IMGUI
This page provides an overview of each.
UI Toolkit
UI Toolkit is the newest UI system in Unity. It’s designed to optimize performance across platforms, and is based on standard web technologies. You can use UI Toolkit to create extensions for the Unity Editor, and to create runtime UI for games and applications.
UI Toolkit includes:
- A retained-mode UI system that contains the core features and functionality required to create user interfaces.
- UI Asset types inspired by standard web formats such as HTML, XML, and CSS. Use them to structure and style UI.
- Tools and resources for learning to use UI Toolkit, and for creating and debugging your interfaces.
Unity intends for UI Toolkit to become the recommended UI system for new UI development projects, but it is still missing some features found in Unity UI (uGUI) and IMGUI.
The Unity UI (uGUI) package
The Unity User Interface (Unity UI) package (also called uGUI) is an older, GameObject-based UI system that you can use to develop runtime UI for games and applications. In Unity UI, you use components and the Game view to arrange, position, and style the user interface. It supports advanced rendering and text features.
See the Unity UI package documentation for the manual and API reference.
IMGUI
Immediate Mode Graphical User Interface (IMGUI) is a code-driven UI Toolkit that uses the OnGUI function, and scripts A 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 it, to draw and manage user interfaces. You can use IMGUI to create custom Inspectors A Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary for script components, extensions for the Unity Editor, and in-game debugging displays. It is not recommended for building runtime UI.
Choosing a UI system for your project
Unity intends for UI Toolkit to become the recommended UI system for new UI development projects, but it is still missing some features found in Unity UI (uGUI) and IMGUI. These older systems are better in certain use cases, and are required to support legacy projects.
Your choice of UI system for a given project depends on the kind of UI you plan to develop, and the features you need support for.
For a comparison of the available UI systems, see the Comparison of UI systems in Unity.
Ease of Building UI Elements in Unity
Unity User Interface or short UI provides a toolkit for developing user interfaces for games and applications. This system allows you to control UI elements such as text, images, buttons and other user controls that will add functionality for the user. Unlike standard GameObjects, UI elements are not directly placed in the scene itself but are displayed on a “2D area” that overlaps the Camera View.
GameObject-based system that uses Components and the Game View to arrange, position and style user interfaces.
Canvas
The Canvas is the area that all UI elements should be inside. The Canvas is a Game Object with a Canvas component on it, and all UI elements must be children of such a Canvas.
The Canvas area is shown as a rectangle in the Scene View. This makes it easy to position UI elements without needing to have the Game View visible at all times. It uses the EventSystem object to help the Messaging System. By default, you will not be able to modify the shape of the canvas area, and it will be a comparatively gigantic rectangle around your scene.
Draw order of UI elements
UI elements in the Canvas are drawn in the same order they appear in the Hierarchy. The first child is drawn first, the second child next, and so on. If two UI elements overlap, the later one will appear on top of the earlier one. The order can also be controlled from scripting.
Render Modes
The Canvas allows us to set a Render Mode, which changes the way the UI is being displayed. There are three types;
- Screen Space — Overlay
This render mode places UI elements on the screen rendered on top of the scene. If the screen is resized or changes resolution, the Canvas will automatically change size to match this. - Screen Space — Camera
Similar to Screen Space — Overlay, but in this render mode the Canvas is placed a given distance in front of a specified Camera. The UI elements are rendered by this camera, affecting the appearance of the UI. - World Space
Mainly useful for a UI element that is meant to be a part of the game world. UI elements will render in front of or behind other objects in the scene based on 3D placement and behave as any other object in the scene.
Placing UI Elements
For layout purposes, every UI element is represented as a rectangle which can be moved, resized and rotated in the Scene View using the Rect Tool.
Rect Transform
Similar to a regular Transform Component it stores its position, rotation and scale, but in addition it also stores a width and height, used to specify the dimensions of the rectangle. They also make use of Pivot and Space, affecting the outcome of the element orientation.
Resizing vs Scaling
When the Rect Tool is used to change the size of an object, both in 2D and 3D Mode, it will change the local scale of the object. However, when it’s used on an object with a Rect Transform on it, it will instead change the width and the height, keeping the local scale unchanged.
Anchors
Anchors are points that other entities can “lock” onto in the Canvas. This means that if a UI element (for example an image) is anchored to the Canvas, resizing the Canvas will ensure that the image is always orientated relative to a specified location on the Canvas.
You can anchor elements in various ways and have presets for it, for more information about anchoring you can click here.
Components
UI Elements are usually made by combining Visual and Interaction able components, additionally it supports Animation Integration, adding Auto Layouts and Rich Text. This being an introduction to the Unity UI System, we’ll examine each individual component as we make progress in this DevDiary. Below you can find a swift overview.
Visual Components
Basic components that help you create GUI specific functionality, the building blocks of the user interface.
- Text
- Image
- Raw Image
- Mask
- Effects
Interaction Components
Interaction components handle user interaction such as mouse or touch events, interaction with a keyboard or controller. These components are not visible on their own and need to be combined with visual components in order to work correctly.
- Common Functionality
Most of the interaction components have some things in common. They are selectables, having shared built-in functionality for visualisingtransitions between states (normal, highlighted, pressed, disabled) and for navigation to other selectables using the keyboard or a controller. The interaction components have at least one UnityEvent that is invoked when the user interacts with the component. - Button
- Toggle
- Toggle Group
- Slider
- Scrollbar
- Dropdown
- Input Field
- Scroll View (Scroll Rect)
For more information about each individual Component, you can visit the Unity Documentation.
Создание пользовательских интерфейсов (UI)
Unity предоставляет три UI (пользовательский интерфейс). Позволяет пользователю взаимодействовать с вашим приложением. Подробнее
См. в Словарь систем, которые можно использовать для создания пользовательских интерфейсов (UI) для редактор Unity и приложения, созданные в редакторе Unity:
- UI Toolkit
- The Unity UI package (uGUI)
- IMGUI
На этой странице представлен обзор каждого из них.
Инструментарий пользовательского интерфейса
UI Toolkit – новейшая система пользовательского интерфейса в Unity. Он предназначен для оптимизации производительности на разных платформах и основан на стандартных веб-технологиях. Вы можете использовать UI Toolkit для создания расширений для редактора Unity, а также для создания пользовательского интерфейса во время выполнения для игр и приложений (при установке пакета UI Toolkit).
Инструментарий пользовательского интерфейса включает:
- Система пользовательского интерфейса с сохраненным режимом, которая содержит основные функции и функции, необходимые для создания пользовательских интерфейсов.
- Типы объектов пользовательского интерфейса созданы на основе стандартных веб-форматов, таких как HTML, XML и CSS. Используйте их для структурирования и оформления пользовательского интерфейса.
- Инструменты и ресурсы для обучения работе с UI Toolkit, а также для создания и отладки интерфейсов.
Unity намеревается сделать UI Toolkit рекомендуемой системой пользовательского интерфейса для новых проектов разработки пользовательского интерфейса, но в нем по-прежнему отсутствуют некоторые функции, имеющиеся в пользовательском интерфейсе Unity (uGUI) и IMGUI.
Пакет пользовательского интерфейса Unity (uGUI)
Пакет Пользовательский интерфейс Unity (Unity UI) (также называемый uGUI) — это старая система пользовательского интерфейса на основе GameObject, которую вы можете использовать для разработки пользовательского интерфейса для игр и приложений. В пользовательском интерфейсе Unity вы используете компоненты и представление Game для упорядочивания, расположения и стиля пользовательского интерфейса. Он поддерживает расширенный рендеринг процесс вывода графики на экран (или текстуру рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь и в текстовых функциях.
См. документацию по пакету Unity UI для руководства и Справочник по API.
IMGUI
Графический пользовательский интерфейс с немедленным режимом (IMGUI) — это управляемый кодом набор инструментов пользовательского интерфейса, использующий OnGUI функция и скрипты фрагмент кода, позволяющий создавать собственные компоненты, запускать игровые события, изменять свойства компонентов с течением времени. и отвечайте на ввод пользователя любым удобным для вас способом. Подробнее
См. в Словарь , что его реализовать, рисовать и управлять пользовательские интерфейсы. Вы можете использовать IMGUI для создания собственных инспекторов окна Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам для проверки и редактирования значений. Подробнее
См. Словарь для компонентов скриптов, расширений для редактора Unity и встроенных отображение отладки игры. Не рекомендуется использовать его для создания пользовательского интерфейса во время выполнения.
Выбор системы пользовательского интерфейса для вашего проекта
Unity намерена сделать UI Toolkit рекомендуемой системой пользовательского интерфейса для новых проектов разработки пользовательского интерфейса, но в нем по-прежнему отсутствуют некоторые функции пользовательского интерфейса Unity (uGUI) и IMGUI. Эти старые системы лучше в некоторых случаях использования и необходимы для поддержки устаревших проектов.
Ваш выбор системы пользовательского интерфейса для данного проекта зависит от типа пользовательского интерфейса, который вы планируете разработать, и функций, для которых вам нужна поддержка.
Для сравнения доступных систем пользовательского интерфейса см. раздел Сравнение систем пользовательского интерфейса в Unity.