com.unity.dt.app-ui 2.0.0

com.unity.dt.app-ui

Source docs
Notes: processedReleased June 25, 2025

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2021.3

Package Dependencies

  • com.unity.modules.androidjni (1.0.0)
  • com.unity.modules.physics (1.0.0)
  • com.unity.modules.screencapture (1.0.0)
  • com.unity.modules.uielements (1.0.0)

API Changes

  • Removed `Unity.AppUI.Core.AppUI.DismissAnyPopups` method. Popups are now registered per `Panel` element.
  • Removed `Canvas.scrollDirection` property in order to support correctly the scroll direction set in the Operating System's preferences.
  • Removed programatic construction of RadioGroup with IList object. Since App UI offers the possibility to have Radio component as deep as you want in the visual tree compared to its RadioGroup ancestor, we wanted to limit conflicts between construction kinds.
  • TextFieldExtensions.BlinkingCursor extension method has become obsolete. Please use the new BlinkingCursor manipulator instead.
  • Removed intrusive Debug.Log calls from Platform class on Windows platform.
  • Removed warning message when using Single selection type in an overflown ActionGroup.
  • Removed EventBaseExtensionsBridge class
  • [Canvas] Removed applying cursor styles during pointer events as it was too costly in terms of performance.
  • Removed the Popup message Handler that was used to dispatch the display or dismissal of Popups. While this removes thread safety, it fixes issues with ordering of events to dismiss popups.

📈 Improvements

  • Refactored SliderBase and BaseSlider for performance improvements and better features. The RangeSliderBase class has been removed and RangeSliderFloat/RangeSliderInt are now derived from SliderBase directly.
  • The `Platform`, `AppUIInput` and `GestureRecognizer` classes now use pre-allocated buffers to deal with Touch events in a single frame, and expects a `ReadOnlySpan` type to work with instead of `AppUITouch[]`.
  • Refactored switch statement builder for Redux slice construction.
  • The `NavDestination` node now uses a `NavDestinationTemplate` as a delegate to create and set up a `INavigationScreen` when reaching this destination.
  • Subscribing to a Redux Store returns a `IDisposableSubscription` object instead of a method. You can dispose it by calling its `Dispose` method.
  • Changed DialogTrigger.keyboardDismissDisabled to DialogTrigger.keyboardDismissEnabled for consistency.
  • Make Host optional when intializing an `App` implementation.
  • Renamed `IUIToolkitApp.mainPage` property into `IUIToolkitApp.rootVisualElement` for more clarity.
  • Moved `NavDestination` specific settings such as `showAppBar` inside the new `DefaultNavDestinationTemplate`.
  • Replaced ClickEvent action in MenuItem builder by an EventBase action
  • Refactored completely the DropZone UI element. Now the DropZone doesn't embed any logic, but uses a `DropZoneController` instead. You can access this controller via `DropZone.controller` property and attaches a callback method to accept dragged objects and listens to drop events.
  • Changed `ticks` related properties in Slider components with a new `marks` property. To configure marks you can you the new `step` property or directly set your `customMarks`
  • Changed StoryBookEnumProperty class to become a generic type. You need to specify the Enum type as typedef parameter.
  • Refactored Redux API fore more flexibility. See the migration guide in the package documentation.
  • Renamed Popup.parentView to Popup.containerView for more clarity.
  • Complete rewrite of the SplitView component. The SplitView is no more a derived from TwoPaneSplitView from UI-Toolkit, but a full custom component that supports any number of panes.
  • Scrollable manipulator now stops the propagation of WheelEvent. This affects only the Drawer and SwipeView elements.
  • Defer checking Popup's container candidate when the Popup is about to be shown, instead of during Popup creation.
  • Use `resolvedStyle.translate` instead of `transform.position` to move elements such as the `Canvas` container.
  • Changed DropZoneController to support any VisualElement as target instead of a DropZone element.
  • Changed the Text element inside the ColorField to become a selectable text.
  • Others assembly modules such as `Redux`, `MVVM` and `Navigation` has been configured to be auto-referenced in the Unity project's assemblies.
  • Refactored every native plugin provided by the package.
  • Updated A