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.
[1.0.2] - 2024-02-26
Fixed
- Fixed the clipping flag on the GridView's ScrollView content container to prevent overscroll on touch devices.
- Fixed unit tests
- Disabled the dragging feature in the GridView when used on touch devices.
Added
- Improved Localization Unity Package support with
LangContextpropagation.
[1.0.1] - 2024-02-14
Fixed
- Fixed ColorSwatch shader to support Shader Model older than 5.0
[1.0.0] - 2024-02-12
Changed
- Color related components, such as
ColorSliderorColorSwatch, support now a value of typeUnityEngine.Gradientinstead ofUnityEngine.Colorfor more flexibility. - Removed the
disabledboolean property on App UI components from the public C# API. Thedisabledattribute in UXML has been replaced byenabledUXML attribute. This change has been made in order to be more consistent with Unity 2023.3, whereenabledUXML attribute is provided by UI Toolkit on any VisualElement. - Replaced
Nullable<T>properties in components by a custom serializable implementation calledOptional<T> - Renamed
Panel.dirproperty withPanel.layoutDirection. - Replaced the
Divider.verticalproperty byDivider.directionenum property. - Removed the
ApplicationContextclass andVisualElementExtensions.GetContext()method, replaced by the neProvideContextandRegisterContextChangedCallbackAPI. - Replaced
ActionGroup.verticalproperty byActionGroup.directionenum property. - Migrated code into the App UI monorepo at https://github.com/Unity-Technologies/unity-app-ui
- Renamed
formatUXML Attribute toformat-stringto bind correctly in UIBuilder - Readjusted font sizes used on components to follow new design tokens
- Changed assembly definition files to support new UXML Serialization starting Unity 2023.3.0a1
- Removed
sizeproperty from Checkbox and Toggle components. - In Numerical fields and sliders, the string formatting for percentage values follows now the C# standard. The formatted string of the value
1using0Por0%will give you100%. If you want the user to be able to type100in order to get a100%as a formatted string in a numerical field, we suggest to use0\%string format (be sure that thehighValueof your field is set to100too). - Previously the Panel Constructor set the default scale context to "large" on mobile platforms, now the default scale context for any platform is "medium".
- All user input related UI controls now inherit from the new IInputElement interface. This has no impact on the current implementation (some addition in certain components).
- The
MacroCommand.Flushmethod will now callUndoCommand.Flushon its child commands from the most recent to the oldest one. This is the same order as the one used by theMacroCommand.Undomethod. - Most App UI component styling now use component-level design tokens for background and border colors
- Renamed CircularProgress and LinearProgress
colorUxml Attribute tocolor-overrideto bind correctly in UIBuilder - Runtime Tooltips won't be displayed if the picked element has
.is-openUSS class currently applied. - Use the ConditionalWeakTable for new releases of Unity where a fix from IL2CPP has landed.
- Float Fields using a string format set on Percentage (P) will now use the same value as what you typed
- Use ConditionalWeakTable whenever possible (Editor and no IL2CPP builds)
Added
- Added support of new UI Toolkit Runtime Bindings feature through bindable properties in each App UI components. More than 420 properties can now be bound (2023.2+).
- Added support to new UI Toolkit Uxml Serialization using source code generators.
- Added
BaseVisualElementandBaseTextElementclasses which are used as base class for mostly every App UI component - Added numerous custom PropertyDrawers for a better experience in UIBuilder (2023.3+)
- Added Layout Direction
dircontext in the App UIApplicationContext. - Added
maxLengthproperty in TextArea and TextField components. - Added
isPasswordandmaskCharproperties to TextField component. - Added Editor-Dark and Editor-Light themes.
- Added others Inter font variants
- Added the support of
Fixedgradient blend mode in ColorSwatch shader. - Added
.appui-rowUSS classes which support current layout direction context. - Added new IInputElement interface in the public API
- Added missing API documentation
- Added new methods to push sub-menus in
MenuBuilderclass. - Added monitoring of AccordionItem content size to make AccordionItem fit its content when it is already open.
- Added the possibility to setup navigation visual components from your NavigationScreen implementation directly. You are still able to create a global setup using your own implementation of the INavVisualController interface that you have set on your NavHost.
- Added
Spacercomponent. - Added the support of a specific drag direction and drag threshold in the Draggable manipulator. Specifying a direction will avoid to prevent scrolling in the opposite direction if this maniuplator is used inside a ScrollView for example.
- Added
submit-on-enterproperty inTextAreacomponent. - Added more tests
- Added support of LTR and RTL layout direction in most App UI components
- Added
submit-modifiersproperty inTextAreacomponent. - Added forceUseTooltipSystem property on the Panel component to force the use of App UI tooltips system regardless the state of UI-Toolkit default tooltip system. This can be useful in a context where UITK tooltips can't be displayed in the Editor.
- Added
submittedevent property inTextAreacomponent. - Added mention about full integration of UI Toolkit with the New Input System starting 2023.2 in the documentation
- Added
subMenuOpenedevent property inMenuItemUI component. - Added
accentproperty to theFloatingActionButtoncomponent. - Added
isReadonlyproperty to TextArea and TextField components. - Added
isOpenproperty setter to be able to set the open state of theDrawercomponent without animation.
Removed
- Starting Unity 2023.3, App UI will not provide any
UxmlFactoryorUxmlTraitsimplementation, as they become obsolete and replaced by the new UITK Uxml serialization system. - Removed Relocations folder from MacOS native plugin debug symbols bundle
- Removed the
marginproperty from the Tray component. - Removed the
sizeproperty of theTraycomponent. The Tray component will fit its content in the screen automatically and doen't need anymore any specific size to be set. - Removed the
expandableproperty from the Tray component. A Tray component is should not be expandable by definition. If you are willing to have some scrollable content inside a Tray component, a new component called ScrollableTray will be avilable in future release of App UI.
Fixed
- Fixed Unity crashes when polling TabItem elements inside Tabs component.
- Fixed Scroller styling.
- Fixed TextField and NumericalField text offset during FocusOut event
- Fixed auto scrolling to follow text edition's cursor in TextArea component.
- Fixed mouse capture during Pointer down event in Pressable manipulator for Unity versions older than 2023.1.
- Fixed tab key handling to switch focus in
TextAreacomponent. - Fixed styling on BottomNavBar items
- Fixed Sliders handles to not exceed the range of track element.
- Fixed Selection handling in ActionGroup.
- Fixed styling for Disabled Quiet Button component.
- Fixed color blending in the ColorSwatch custom shader.
- Fixed ColorSwatch refresh when the Gradient reference value didn't change but Gradient keys have changed
- Fixed compilation errors while not having the new Input System installed but the Input Manager setting is set to 'New' in the Project Settings.
- Added support of Windows 11 for ARM
- Fixed layout for Bounds, Rect and Vector fields
- Fixed the height of Toast components to be
auto. - Fixed
AppBarstory in Storybook samples. - Fixed UI Kit Sample with Progress components' color overrides.
- Fixed
border-radiususage inExVisualElementcomponent. - Fixed some styling issues on different components.
- Fixed USS icons to match with App UI Symbols names
- Cleaned up some warning messages to not get anything written in the console during package installation.
- Fixed small errors in UI Kit sample.
- Fixed a refresh bug in the App UI Storybook window.
- Fixed some examples in the UI Kit Sample
- Fixed refresh of the
ActionGroupcomponent - Fixed MacOS Native plugin to support Intel 64bits architecture with IL2CPP
- Fixed typo in App UI Elevation's USS selector.
- Fixed box-shadows border-radius calculation
- Fixed border gap in TouchSlider component.
- Fixed margins on Checkbox component without label.
- Fixed ColorPicker Alpha channel slider refresh when the picked color has changed
- Fixed
isPrimaryActionDisabledandisSecondaryActionDisabledproperty setters - Fixed calls for ContextChanged callbacks registered by the context provider itself
- Fixed some unit tests
- Fixed Tooltip maximum size
- Fixed
MacroCommand.UndoandMacroCommand.Redomethods.
[1.0.0-pre.15] - 2024-02-09
Removed
- Removed the
marginproperty from the Tray component. - Removed the
sizeproperty of theTraycomponent. The Tray component will fit its content in the screen automatically and doen't need anymore any specific size to be set. - Removed the
expandableproperty from the Tray component. A Tray component is should not be expandable by definition. If you are willing to have some scrollable content inside a Tray component, a new component called ScrollableTray will be avilable in future release of App UI.
Fixed
- Fixed styling on BottomNavBar items
- Fixed refresh of the
ActionGroupcomponent - Fixed Tooltip maximum size
Added
- Added monitoring of AccordionItem content size to make AccordionItem fit its content when it is already open.
Changed
- Use the ConditionalWeakTable for new releases of Unity where a fix from IL2CPP has landed.
[1.0.0-pre.14] - 2024-01-30
Fixed
- Fixed ColorSwatch refresh when the Gradient reference value didn't change but Gradient keys have changed
- Added support of Windows 11 for ARM
- Fixed ColorPicker Alpha channel slider refresh when the picked color has changed
- Fixed calls for ContextChanged callbacks registered by the context provider itself
Added
- Added new IInputElement interface in the public API
- Added the possibility to setup navigation visual components from your NavigationScreen implementation directly. You are still able to create a global setup using your own implementation of the INavVisualController interface that you have set on your NavHost.
- Added the support of a specific drag direction and drag threshold in the Draggable manipulator. Specifying a direction will avoid to prevent scrolling in the opposite direction if this maniuplator is used inside a ScrollView for example.
- Added forceUseTooltipSystem property on the Panel component to force the use of App UI tooltips system regardless the state of UI-Toolkit default tooltip system. This can be useful in a context where UITK tooltips can't be displayed in the Editor.
- Added mention about full integration of UI Toolkit with the New Input System starting 2023.2 in the documentation
Changed
- All user input related UI controls now inherit from the new IInputElement interface. This has no impact on the current implementation (some addition in certain components).
- Use ConditionalWeakTable whenever possible (Editor and no IL2CPP builds)
[1.0.0-pre.13] - 2024-01-14
Removed
- Removed Relocations folder from MacOS native plugin debug symbols bundle
Fixed
- Fixed TextField and NumericalField text offset during FocusOut event
Added
- Added missing API documentation
- Added more tests
Changed
- Changed assembly definition files to support new UXML Serialization starting Unity 2023.3.0a1
[1.0.0-pre.12] - 2024-01-03
Changed
- Color related components, such as
ColorSliderorColorSwatch, support now a value of typeUnityEngine.Gradientinstead ofUnityEngine.Colorfor more flexibility. - Removed the
disabledboolean property on App UI components from the public C# API. Thedisabledattribute in UXML has been replaced byenabledUXML attribute. This change has been made in order to be more consistent with Unity 2023.3, whereenabledUXML attribute is provided by UI Toolkit on any VisualElement. - Replaced
Nullable<T>properties in components by a custom serializable implementation calledOptional<T> - Renamed
Panel.dirproperty withPanel.layoutDirection. - Replaced the
Divider.verticalproperty byDivider.directionenum property. - Removed the
ApplicationContextclass andVisualElementExtensions.GetContext()method, replaced by the neProvideContextandRegisterContextChangedCallbackAPI. - Replaced
ActionGroup.verticalproperty byActionGroup.directionenum property.
Added
- Added support of new UI Toolkit Runtime Bindings feature through bindable properties in each App UI components. More than 420 properties can now be bound (2023.2+).
- Added support to new UI Toolkit Uxml Serialization using source code generators.
- Added
BaseVisualElementandBaseTextElementclasses which are used as base class for mostly every App UI component - Added numerous custom PropertyDrawers for a better experience in UIBuilder (2023.3+)
- Added the support of
Fixedgradient blend mode in ColorSwatch shader. - Added
.appui-rowUSS classes which support current layout direction context.
Removed
- Starting Unity 2023.3, App UI will not provide any
UxmlFactoryorUxmlTraitsimplementation, as they become obsolete and replaced by the new UITK Uxml serialization system.
Fixed
- Fixed Sliders handles to not exceed the range of track element.
- Fixed color blending in the ColorSwatch custom shader.
- Fixed
AppBarstory in Storybook samples. - Fixed some styling issues on different components.
- Cleaned up some warning messages to not get anything written in the console during package installation.
- Fixed small errors in UI Kit sample.
- Fixed a refresh bug in the App UI Storybook window.
[1.0.0-pre.11] - 2023-12-21
Fixed
- Fixed Scroller styling.
- Fixed styling for Disabled Quiet Button component.
- Fixed compilation errors while not having the new Input System installed but the Input Manager setting is set to 'New' in the Project Settings.
- Fixed border gap in TouchSlider component.
- Fixed margins on Checkbox component without label.
Changed
- Removed
sizeproperty from Checkbox and Toggle components.
[1.0.0-pre.10] - 2023-12-12
Fixed
- Fixed auto scrolling to follow text edition's cursor in TextArea component.
- Fixed layout for Bounds, Rect and Vector fields
- Fixed some examples in the UI Kit Sample
Added
- Added
maxLengthproperty in TextArea and TextField components. - Added
isPasswordandmaskCharproperties to TextField component. - Added Editor-Dark and Editor-Light themes.
- Added
isReadonlyproperty to TextArea and TextField components.
Changed
- Readjusted font sizes used on components to follow new design tokens
- Most App UI component styling now use component-level design tokens for background and border colors
[1.0.0-pre.9] - 2023-12-05
Fixed
- Fixed Selection handling in ActionGroup.
- Fixed MacOS Native plugin to support Intel 64bits architecture with IL2CPP
Changed
- In Numerical fields and sliders, the string formatting for percentage values follows now the C# standard. The formatted string of the value
1using0Por0%will give you100%. If you want the user to be able to type100in order to get a100%as a formatted string in a numerical field, we suggest to use0\%string format (be sure that thehighValueof your field is set to100too).
Added
- Added
isOpenproperty setter to be able to set the open state of theDrawercomponent without animation.
[1.0.0-pre.8] - 2023-11-30
Fixed
- Fixed Unity crashes when polling TabItem elements inside Tabs component.
- Fixed mouse capture during Pointer down event in Pressable manipulator for Unity versions older than 2023.1.
- Fixed tab key handling to switch focus in
TextAreacomponent. - Fixed UI Kit Sample with Progress components' color overrides.
- Fixed
border-radiususage inExVisualElementcomponent. - Fixed typo in App UI Elevation's USS selector.
- Fixed box-shadows border-radius calculation
- Fixed
isPrimaryActionDisabledandisSecondaryActionDisabledproperty setters
Added
- Added new methods to push sub-menus in
MenuBuilderclass. - Added
submit-on-enterproperty inTextAreacomponent. - Added
submit-modifiersproperty inTextAreacomponent. - Added
submittedevent property inTextAreacomponent. - Added
subMenuOpenedevent property inMenuItemUI component. - Added
accentproperty to theFloatingActionButtoncomponent.
Changed
- Runtime Tooltips won't be displayed if the picked element has
.is-openUSS class currently applied.
[1.0.0-pre.7] - 2023-11-24
Added
- Added others Inter font variants
Fixed
- Fixed some unit tests
[1.0.0-pre.6] - 2023-11-19
Added
- Added Layout Direction
dircontext in the App UIApplicationContext. - Added support of LTR and RTL layout direction in most App UI components
Changed
- Previously the Panel Constructor set the default scale context to "large" on mobile platforms, now the default scale context for any platform is "medium".
[1.0.0-pre.5] - 2023-11-15
Changed
- Migrated code into the App UI monorepo at https://github.com/Unity-Technologies/unity-app-ui
- Renamed
formatUXML Attribute toformat-stringto bind correctly in UIBuilder - The
MacroCommand.Flushmethod will now callUndoCommand.Flushon its child commands from the most recent to the oldest one. This is the same order as the one used by theMacroCommand.Undomethod. - Renamed CircularProgress and LinearProgress
colorUxml Attribute tocolor-overrideto bind correctly in UIBuilder - Float Fields using a string format set on Percentage (P) will now use the same value as what you typed
Added
- Added
disabledproperty on every components that needed it in order to bind correctly with UIBuilder - Added
Spacercomponent.
Fixed
- Fixed the height of Toast components to be
auto. - Fixed
MacroCommand.UndoandMacroCommand.Redomethods.
[1.0.0-pre.4] - 2023-11-08
Changed
- The
Canvascomponent now listens toPointerDownEventinTrickleDownphase to avoid to miss the event when the pointer is over a child element.
[1.0.0-pre.3] - 2023-11-06
Added
- Added public access to
Pressable.InvokePressedandPressable.InvokeLongPressedmethods. - Added
trailingContainerproperty to theAccordionItemcomponent.
Fixed
- Fixed warning message about Z-axis scale in the
AnchorPopupcomponent. - Fixed styling of the
AccordionItemheader component. - Fixed the
not-allowed(disabled) cursor texture for Windows support at Runtime. - Fixed images in the package documentation.
Changed
- The
Pressablemanipulator now uses thekeepPropagationproperty also in itsPointerUpEventcallback to avoid to propagate the event to the parent element.
[1.0.0-pre.2] - 2023-11-04
Added
- Added missing XML documentation parts for the public API of the package.
[1.0.0-pre.1] - 2023-10-31
Added
- Added debug symbols for native plugins.
Changed
- Moved internal Engine API related code into a new assembly
Unity.AppUI.InternalAPIBridge.
[0.6.5] - 2023-11-04
Added
- Added missing XML documentation parts for the public API of the package.
- Added the
primaryManipulatorproperty to theCanvascomponent to get the primary pointer manipulator used by the canvas when no modifier is pressed. - Added the
autoResizeproperty to theTextAreacomponent to grow the text area when the text overflows. - Added the handling of double-click in the
TextArearesizing handle to re-enable the auto-resize feature. - Added the
outsideScrollEnabledproperty to theAnchorPopupcomponents to enable or disable the outside scroll handling. The default value isfalse. - Added a smoother animation for the
AnchorPopupcomponents when the popup is about to be shown.
Fixed
- Fixed the Canvas background to support light theme.
- Fixed the styling of DropdownItem checkmark.
- Fixed the styling of MenuItem checkmark.
- Fixed the styling of Slider components.
- Fixed the styling of TextArea component.
- Fixed the styling of TouchSlider components.
- Fixed the previous value sent in
ChangeEventofNumericalField,VectorFieldandPicker(Dropdown) components. - Improved the synchronization of the
AnchorPopupcomponents to refresh their position in the layout faster.
Changed
- Changed the USS selector for component-level aliases to use directly
:rootselector instead of<component_main_uss_class>selector.
[0.6.4] - 2023-10-31
Fixed
- Fixed
NullReferenceExceptionwhen testing accept drag inGridViewcomponent.
[0.6.3] - 2023-10-31
Added
- Added
getItemIdproperty to theGridViewcomponent to get the id of an item.
Fixed
- Fixed items selection persistence between refreshes in
GridViewcomponent.
[0.6.2] - 2023-10-27
Added
- Added
closeOnSelectionproperty to theMenuTriggercomponent. - Added
closeOnSelectionproperty to theActionGroupcomponent to close the popover menu (if any) when an item is selected.
Fixed
- Fixed
closeOnSelectionproperty inMenuBuildercomponent. - Fixed
TextInputstyling for Unity 2023.1+ - Fixed
InvalidCastExceptionat startup of santandlone builds (in both Mono and IL2CPP) - Fixed
NullReferenceExceptionwhen dismissing a Popup from a destroyed UI-Toolkit panel. - Fixed sub-menu indicator icon in
MenuItemcomponent. - Fixed context click handling in
GridViewcomponent.
[0.6.1] - 2023-10-20
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.6.0] - 2023-09-20
Added
- Added the
Quotecomponent. - Added
FieldLabelcomponent. - Added
HelpTextcomponent. - Added
AvatarGroupcomponent. - Added
requiredproperty to theInputLabelcomponent. - Added
indicatorTypeproperty to theInputLabelcomponent. - Added
helpMessageproperty to theInputLabelcomponent. - Added
helpVariantproperty to theInputLabelcomponent. - Added
variantproperty to theAvatarcomponent to supportsquare,roundedandcircularvariants.
Changed
- Added the
Buttonvariantproperty and removed theprimaryproperty. - Updated App UI icons with a default size of 256x256 and moved into a folder named
Regular. - The
InputLabelcomponent uses theFieldLabelandHelpTextcomponents to display the label and the help text. - The
Avatarcomponent now listens toAvatarVarianContextandSizeContextchanges to update the variant and size of the avatar.
Removed
- Removed the
sizeproperty from theInputLabelcomponent.
[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.
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