Описание, а не нативное представление
Widget — неизменяемое значение C#. Его перестроение не означает пересоздание UI Toolkit элемента.
Документация LumaFlow
Понятный маршрут от пустой сцены Unity до поддерживаемого реактивного интерфейса. В каждом разделе объясняется, что делать, зачем это нужно и куда идти дальше.
Не нужно изучать весь API до начала работы. Сначала соберите рабочий экран, затем разберите контракты, предотвращающие ошибки компоновки и жизненного цикла.
Начните здесь
Установите LumaFlow, смонтируйте приложение, создайте счётчик и правильно освободите mount.
Разберитесь
Что неизменяемо, что хранится в дереве и какая часть интерфейса перестраивается.
Масштабируйте
Как выбирать ключи и использовать виртуализацию для больших изменяемых коллекций.
Организуйте
Как хранить маршруты, диалоги и popover вне Build и явно управлять их жизненным циклом.
Каждый материал разбирает одну производственную задачу и типичные ошибки в Unity.
Поля ввода, вкладки, валидация, фокус и стили продукта.
A11yСемантика, клавиатура, уменьшение движения и строки приложения.
DXInspector, диагностика, тесты и перекомпиляция в Play Mode.
RulesОграниченные оси, flex-дети, прокрутка и адаптивная композиция.
APIПоиск публичных типов и сигнатур, когда вы знаете, что требуется.
Widget — неизменяемое значение C#. Его перестроение не означает пересоздание UI Toolkit элемента.
Он управляет жизненным циклом. Совместимое обновление сохраняет прежний VisualElement.
При изменении State перестраиваются только прочитавшие его смонтированные ветви.
Ключ сохраняет логическую идентичность после перестановки, вставки или удаления детей.