Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[0.5.5] - 2023-10-27
Added
- [Backport] Added
closeOnSelectionproperty to theMenuTriggercomponent. - [Backport] Added
closeOnSelectionproperty to theActionGroupcomponent to close the popover menu (if any) when an item is selected. - [Backport] Added
primaryButton,secondaryButtonandcancelButtonpublic access to theAlertDialogcomponent. - [Backport] Added the autofocus of the first available action in the
AlertDialogcomponent.
Fixed
- [Backport] Fixed
closeOnSelectionproperty inMenuBuildercomponent. - [Backport] Fixed
TextInputstyling for Unity 2023.1+ - [Backport] Fixed
InvalidCastExceptionat startup of santandlone builds (in both Mono and IL2CPP) - [Backport] Fixed
NullReferenceExceptionwhen dismissing a Popup from a destroyed UI-Toolkit panel. - [Backport] Fixed context click handling in
GridViewcomponent.
[0.5.4] - 2023-10-19
Added
- Added
allowNoSelectionproperty to theGridViewcomponent to enable or disable the selection of no items.
Fixed
- Fixed the support of nested components inside the
Buttoncomponent. - Fixed the reset of the previous selection when
GridView.SetSelectionWithoutNotifymethod is called.
[0.5.3] - 2023-10-16
Added
- Added
useSpaceBarproperty inCanvascomponent to enable or disable the handling of the space bar key.
Fixed
- Removed the handling of the space bar key in the
Canvascomponent when the used control scheme isEditor.
[0.5.2] - 2023-10-12
Added
- Added
acceptDragproperty to theGridViewcomponent to enable or disable the drag and drop feature. - Added
menuicon. - Added
AddDividerandAddSectionmethods to theMenuBuildercomponent.
Fixed
- Fixed handling
acceptDragproperty inDraggermanipulator. - Fixed MenuItem opening sub menus when the item is disabled.
- Fixed mipmap limit for Icons when a global limit is set in the Quality settings of the project.
- Fixed the capture of pointer during PointerDown event in
Draggermanipulator. Now the pointer is captured only if theDraggermanipulator is active (i.e. the threshold has been reached).
[0.5.1] - 2023-09-20
Added
- Added
selectedIndexproperty to thePickercomponent to get or set the selected index for a single selection mode. - Added a new
Enumerableextension method calledGetFirstto get the first item of an enumerable collection or a default value if the collection is empty. - Added
isPrimaryActionDisabledandisSecondaryActionDisabledproperties to theAlertDialogcomponent. - Added styling for
AlertDialogcomponent semantic variants.
Fixed
- Fixed the
Pickercomponent to avoid to select multiple items if the selection mode is set toSingle. - Fixed
Menu.CloseSubMenusmethod to close sub-menus opened byMenuItemcomponents contained insideMenuSectioncomponents. - Fixed double click handling in
GridViewcomponent.
Changed
- Changed the picking mode of the
DropdownItemcomponent toPositioninstead ofIgnore.
[0.5.0] - 2023-09-15
Added
- Added
outsideClickStrategyproperty inAnchorPopupcomponent. - Added
DropZonecomponent. - Added
DropTargetmanipulator. - Added a sample for
DropZoneandDropTargetcomponents usage. - Added
--border-stylecustom USS property to supportdottedanddashedborder styles. - Added
--border-speedcustom USS property to animate the border style. - Added
Pickercomponent. - Added
closeOnSelectionproperty forPickerandDropdowncomponents to close the picker when an item is selected.
Fixed
- Fixed the
Pressablemanipulator to only handle the Left Mouse Button by default. - Fixed current tooltip element check in
TooltipManipulator. - Fixed incremental value when interacting with keyboard in
ColorSlidercomponent. - Fixed clearing selection in
GridViewwhen a user clicks outside of the grid. - Fixed
itemsChosenevent inGridViewto be fired only when the selection is not empty. - Fixed Navigation keys handling in the
GridViewto clamp the selection to the grid items.
Changed
- The
Pressablemanipulator nows inherits fromPointerManipulatorinstead ofManipulator. - Changed the
GridView.GetIndexByPositionmethod to use a world-space position instead of a local-space position and renamed it toGetIndexByWorldPosition. - TouchSlider component will now loose focus when a slide interaction has ended.
- When calling
GridView.Reset()method, the selection won't be restored if no customGridView.getItemIdfunction has been provided. - When using
--box-shadow-type: 1(inset box-shadow), the--box-shadow-spreadvalue was interpreted with the same direction as outset box-shadow. This has been fixed so you can use a positive spread value to go inside the element and a negative spread value to go outside the element. - The
Dropdowncomponent inherits fromPickercomponent. Users will be able to create custom dropdown-like components by inheriting fromPickercomponent. - The
Dropdowncomponent now has a selection mode property to choose between single and multiple selection modes. - The
Dropdowncomponent now usesDropdownItemcomponent instead ofMenuItemcomponent. - Removed
default-valueUXML property fromDropdowncomponent. The preferred way to set the default value is by code.
[0.4.2] - 2023-09-01
Added
- Added
FrameWorldRectmethod to theCanvascomponent. - Added
frameContainerproperty to theCanvascomponent.
Fixed
- Fixed the soft selection handling on
PointerUpEventin theGridViewcomponent.
Added
- Added the
Pickercomponent.
Changed
- Changed
Dropdownimplementation to use the newPickercomponent.
[0.4.1] - 2023-08-24
Added
- Added mouse and touchpad mapping presets to the
Canvascomponent. - Added a setting to enable or disable gestures recognition on MacOS.
- Added selection mode in
ActionGroupcomponent.
[0.4.0] - 2023-08-18
Added
- Added the Small scale context to App UI. This context is now the preferred one for desktop platforms.
- Added
RangeSlidercomponent.
Fixed
- Fixed
ValueChangedandValueChangingevents propagation inNumericalFieldand Vector components.
[0.3.9] - 2023-08-17
Added
- Added Context API which is accessible through any
VisualElementinstance. - Added
preventScrollWithModifiersproperty to theGridViewcomponent.
Fixed
- Fixed
autoPlayDurationproperty on PageView component. - Fixed value validation in
NumericalFieldcomponent.
[0.3.8] - 2023-08-08
Added
- Added
tooltip-delay-msproperty to theContextProvidercomponent to customize the tooltip delay. - Added more shortcuts to the
Canvascomponent.
Fixed
- Fixed Editor crash when updating packages from UPM window.
[0.3.7] - 2023-08-07
Added
- Added
tooltipTemplateproperty (by code only) onVisualElementto customize the tooltip content.
Fixed
- Fixed Canvas manipulators for mouse devices and generic touchpads.
- Fixed Tooltip manipulator coordinates to pick elements under the cursor.
- Fixed Tooltip display for Editor context.
- Fixed random crashes when switching focused window.
[0.3.6] - 2023-07-28
Added
- Added
autoPlayDurationproperty to thePageViewcomponent. - Added
variantproperty to theIconButtoncomponent. - Added
Canvascomponent. - Added
GridViewcomponent.
Changed
- Changed the calibration values for Magic Trackpad gestures recognition.
Fixed
- Fixed horizontal ScrollView styling.
[0.3.5] - 2023-07-24
Fixed
- Regenerated the meta files inside MacOS bundle folder to avoid error messages in the console.
[0.3.4] - 2023-07-17
Changed
- Draggable manipulator now is publicly accessible.
Fixed
- Ensure shaders exist before creating materials.
- Fixed random crashes during domain unload in Unity 2022.3+.
- Fixed cursors variables for Editor context.
[0.3.3] - 2023-07-06
Added
- Added Magic Trackpad gesture support for MacOS.
- Added
PanGestureandMagnificationGestureevents for UITK dispatcher.
Fixed
- Fixed
Pressablepost-processing for disabled targets. - Fixed visual content rendering synchronization in
ProgressandExVisualElementcomponents. - Fixed Animation Recycling in
NavHostcomponent.
[0.3.2] - 2023-06-01
Fixed
- Fixed NavAction being added twice in NavGraph when deleting a linked NavDestination.
[0.3.1] - 2023-05-17
Fixed
- Fixed warning messages about styling.
- Fixed warning messages about GUID conflicts in UI Kit samples.
- Fixed warning messages about unused events in NavController.
[0.3.0] - 2023-05-17
Added
- Added defaultMessage property on Dropdown component.
- Added ChangingEvent on TextField, TextArea and NumericalField components.
- Added the AppBar navigation component.
- Added the variant property on the Icon component.
- Added the support of Phosphor Icons through the
com.unity.replica.phosphor-iconspackage. - Added the BottomNavBar component.
- Added the FAB component.
- Added the DrawerHeader component.
- Added the NavHost component.
- Added a ListViewItem component.
- Added the Navigation System under the
Unity.AppUI.Navigationnamespace (in its own non auto-referenced assembly). - Added the support of nested Navigation graphs.
- Added the INavVisualController interface to control the content of the navigation components.
- Added the NavController, core component of the navigation system.
- Added a sample called Navigation to demonstrate the navigation system.
- Added the support of Enum properties in the Storybook editor window.
- Added ObservableObject class to implement the INotifyPropertyChanged interface.
- Host and App interfaces to create MVVM apps based on specific hosts.
- Added UITK implementations of the Host and App interfaces.
- Added Dependency Injection support for MVVM Toolkit via constructor injection.
- Added an implementation of a ServiceProvider for MVVM Toolkit.
- Added an App Builder utility MonoBehaviour to create MVVM apps as Unity component in a scene.
- Added RelayCommand and RelayCommand
classes to implement the ICommand interface. - Added AsyncRelayCommand and AsyncRelayCommand
classes to implement the ICommand interface. - Added a sample project to show how to use MVVM Toolkit with App UI.
- Added the MVVM implementation under the
Unity.AppUI.MVVMnamespace (in its own non auto-referenced assembly). - Added a Redux implementation under the
Unity.AppUI.Reduxnamespace (in its own non auto-referenced assembly). - Added the UndoRedo system under the
Unity.AppUI.Undonamespace (in its own non auto-referenced assembly).
Changed
- The namespaces used by the package has changed from
UnityEngine.Dt.AppUItoUnity.AppUI. See the migration guide in the documentation for more information. Headercomponent is now namedHeading. The old name is still supported but will be removed in a future release.- CircularProgress innerRadius property is now publicly accessible.
- App UI main Looper instance is now publicly accessible.
- Improved StackView logic to support the navigation system.
- Refactored Avatar component, there are no more containers for notifications and icons.
- Refactored Badge component.
[0.2.13] - 2023-06-28
Fixed
- Fixed RenderTextures destruction to avoid memory leaks.
[0.2.12] - 2023-06-01
Added
- Added
isExclusiveproperty to theAccordioncomponent. - Added
shortcutproperty to theMenuItemcomponent.
Fixed
- Fixed TextArea input size.
- Fixed ValueChanged events on text based inputs.
- Fixed depth tests in custom shaders for WebGL platform.
[0.2.11] - 2023-05-12
Added
- Added
maxDistanceproperty to the World-Space UI Document component.
[0.2.10] - 2023-05-08
Added
- Added resistance property to the
SwipeViewcomponent.
Fixed
- Fixed
PressablePointerDown event propagation.
[0.2.9] - 2023-05-04
Changed
- Removed
Replicaword from the documentation.
[0.2.8] - 2023-04-30
Added
- Added transition animations to sliders components.
- Added a
swipeableproperty to theSwipeViewcomponent to be able to disable swipe interaction. - Added
Preloadercomponent to the UI Kit sample. - Added
Linkcomponent. - Added
Breadcrumbscomponent to the UI Kit sample. - Added
Toolbarcomponent to the UI Kit sample.
Fixed
- Fixed
Pressableevent propagation.
Changed
- Updated USS vars to use the new version of App UI Design Tokens.
[0.2.7] - 2023-04-24
Added
- Added
Refreshmethod to theDropdowncomponent. - Added AutoPlay to the
SwipeViewcomponent.
Fixed
- Fixed the support of the New Input System.
- Fixed the box-shadow shader with portrait aspect ratio.
- Fixed async operations on LocalizedTextElement.
[0.2.6] - 2023-04-17
Added
- Added
innerRadiusproperty to theCircularProgresscomponent.
Fixed
- Fixed the RenderTexture format of the World-Space UI Kit sample.
[0.2.5] - 2023-03-30
Added
- Added
SnapToandGoTomethods in the SwipeView component. - Added
startSwipeThresholdproperty in the SwipeView component. - Added Scrollable Manipulator which uses a threshold before beginning to scroll.
- Added Pressable Manipulator which can be used to capture a pointer during press but can continue propagation of Move and Up events.
Fixed
- Removed the use of System.Linq in the App UI package.
Changed
- SwipeView now uses the Scrollable Manipulator instead of Draggable.
[0.2.4] - 2023-03-23
Fixed
- Fixed Localization initialization for WebGL platform.
- Fixed ScrollView tracker styling.
- Fixed Focusable property in constructor for newer versions of Unity.
- Fixed UnityEngine namespace import for newer versions of Unity.
[0.2.3] - 2023-03-22
Fixed
- Fixed styling on Scroller.
- Fixed max-height on Dropdown menu.
- Fixed dismissible dialogs in UI Kit sample.
- Fixed flex-shrink value on multiple components.
- Fixed TextField UXML construction.
[0.2.2] - 2023-03-20
Fixed
- Fixed NullReferenceException in invalid AnchorPopup updates.
[0.2.1] - 2023-03-07
Fixed
- Fixed the localization of the Dropdown component.
- Fixed the sizing of Progress UI components.
- Fixed OutOfBounds dismiss on cascading Popovers.
- Fixed the blocking of placeholder events on TextField and TextArea.
- Fixed compilation error on 2022.2.0a8.
[0.2.0] - 2023-03-05
Added
- Added support of Native features such as system themes and scale. The support has been done for Android, iOS, MacOS, and Windows.
- Added support of the Unity Localization package. You can localize strings from the Application Context or use a LocalizedTextElement component to localize strings from the UI.
- Added a global UI component property
preferred-tooltip-positionto set the default tooltip position. The property is available by code and UXML. - Added a App UI manager with a singleton pattern to manage the App UI configuration and lifecycle.
- Added an option in the App UI Settings to auto-override the Android manifest file (Android builds only).
- Added an option in the App UI Settings to enable or disable the usage of a custom loop frequency (Editor only).
- Added a World Space UI Document component to display UI elements in the world space.
- Added Avatar UI component to display an avatar with a name and a status.
- Added a Badge UI component to display a badge with a number.
- Added a BoundsField UI component to define a three-dimensional bounding box.
- Added a BoundsIntField UI component to define a three-dimensional bounding box with integer values.
- Added a Chip UI component to display a chip with a label and an icon.
- Added a CircularProgress UI component to display a circular progress bar.
- Added a LinearProgress UI component to display a linear progress bar.
- Added a ColorField UI component to define a color.
- Added a ColorSlider UI component to choose a value from a range of colors.
- Added a ColorSwatch UI component to display a color.
- Added a ColorWheel UI component to choose a hue from a color wheel.
- Added a ColorPicker UI component to choose a color from a color wheel and a color slider.
- Added a DoubleField UI component to define a double value.
- Added a Drawer UI component to display additional content from the sides of the screen.
- Added the support of
box-shadowandoutlineusing custom USS properties (see ExVisualElement). - Added a IconButton UI component to display an icon button.
- Added a LocalizedTextElement UI component to display a localized text. Most of the App UI components have been updated to use this component.
- Added a LongField UI component to define a long value.
- Added a Mask UI component to fill an area with a solid color.
- Added a PageIndicator UI component to display dots in a pagination system.
- Added a RectField UI component to define a two-dimensional rectangular area.
- Added a RectIntField UI component to define a two-dimensional rectangular area with integer values.
- Added a TextArea UI component to display a scrollable text area.
- Added the support of expression evaluation in numeric fields (see ExpressionEvaluator).
- Added an ActionTriggered UITK event that can be triggered by Menu items.
- Added a StackView UI component to display and animate a stack of items.
- Added a SwipeView UI component to display a list of items that can be swiped in a direction.
- Added a PageView UI component which is the combination of a SwipeView and a PageIndicator.
- Added the
SubmittableUI-Toolkit manipulator to handle the submission of Action UI elements via keyboard/mouse/pointer. - Added the KeyboardFocusController UI-Toolkit manipulator to differentiate the focus of a UI element from the keyboard or the pointer.
- Added a MenuBuilder class to create a Menu from code.
- Added the ability for Popover element to use a modal backdrop (Pointer events are blocked).
- Added a simple implementation of a Storybook-like tool to display and test UI components.
Changed
- The Application UI element is now called Panel.
- Improved the Slider UI component to display the current value.
- Improved the Tray UI element to be resizable.
- Ability to use the Modal component with any content derived from VisualElement.
- The App UI main Looper is now part of the App UI manager and is not present in the Application UI element anymore.
Fixed
- Fixed the Notification system when the Notificiation UI element has been destroyed without being dismissed.
- Fixed the Menu system to handle sub-menus.
- Fixed the position calculator of Popups.
- Fixed the Popup system to be able to dismiss a popup when clicking outside of it in an area that is not handled by UI-Toolkit.
- Fixed the formatting of numerical fields.
- Fixed the handle of some edge-cases in TooltipManipulator.
[0.1.0] - 2022-08-19
Added
- Package Structure
- First draft of User Manual documentation
- Accordion UI Component
- ActionBar UI Component
- ActionButton UI Component
- ActionGroup UI Component
- Button UI Component
- Checkbox UI Component
- Divider UI Component
- Dropdown UI Component
- NumericalField UI Components
- Header UI Component
- Icon UI Component
- Radio UI Component
- Slider UI Component
- Stepper UI Component
- Tabs UI Component
- Text UI Component
- TextField UI Component
- Toggle UI Component
- TouchSlider UI Component
- VectorField UI Components
- Dialogs & Alerts UI System
- Menu UI System
- Popup UI System
- Notification Manager & Toasts
- Message Queue System (Looper & Handler)
- ContextProvider System
- Tooltip System