Changelog

Release 1.16.5

  • Unity 2023.2 support

  • fixed tooltip sprites

  • fixed Widgets Generator window error when all fields are deselected

  • ListViewItem: replaced Graphic[] with List<Graphic> field properties (GraphicsForeground -> Foregrounds; Foreground -> foregrounds; graphicsBackground -> backgrounds; GraphicsBackground -> Backgrounds; cellsGraphicsBackground -> cellsBackgrounds;)

  • ListViewDropIndicator: fixed wrong position

  • UIThemes: fixed bug when properties controlled by the owner were changed by Theme

  • UIThemes: added Selectable.colorMultiplier support

  • UIThemes: added Text.fontSize support

Release 1.16.4

  • fixed assembly definitions error

  • UI Themes: fixed error caused by a missing folder in the package (since Unity does not include an empty folder in the package)

  • Paginator: added PageRounding option to determine how the current page is calculated

Release 1.16.3

  • Autocomplete: fixed missing ListView in some cases

  • Combobox: fixed the button position on the hierarchy (thanks to Antuan Johnson)

  • Notification: templates buttons now are properly hidden

  • Resizable: now correctly works with non-one scale

  • SelectableHelper and SelectableHelperList: added Interactable and WatchInteractable properties

Release 1.16.2

  • Different Draggable components: added DragButton option

Release 1.16.1

  • added ObservableListFilter

  • added prefabs for the default Unity widgets to use with the default theme

  • added “Editor / Widgets References.asset” to replace default prefabs (available only after any widget was created with context menu)

  • fixed error when replacing Unity Text with TMPro Text on the ThemeTarget component

  • Autocomplete: added OnShowOptions and OnHideOptions events, use them to change the position of the shared DisplayListView

  • ContextMenu: now shows actions count in the items editor

  • ContextMenu: now parent items are highlighted when the submenu is opened

  • ContextMenu: fixed position when open using the context menu key

  • ListViewString: fixed sort (thanks to RickSaada1)

  • ScrollRectPaginator: fixed bug with the wrong page count

  • UIThemes: added option to specify folder, and namespace for wrappers, and enable generate wrappers in Project Settings

  • UIThemes: ThemeTargets Search window: search is now performed on all opened scenes, not only active

  • UIThemes: ThemeTargets Search window: added search on all scenes and prefabs

  • UIThemes: ThemeTargets Search window: search results preserved after assembly reload

  • UIThemes: added context menu “Remove ThemeTargets with Default Theme”

  • UIThemes: added variations reorder

  • UIThemes: added Theme.IsActiveProperty(name) method to control available properties

  • UIThemes: white sprite can be marked with the “ui-themes-white-sprite” label

  • UIThemes: fixed options reordering when filter enabled

  • UIThemes: fixed variations delete

Release 1.16.0

  • now the oldest supported version is Unity 2020.3

  • Unity 2023.1 support

  • added UIThemes as a replacement to the legacy Styles (Styles can be enabled in “Project Settings / New UI Widgets”)

  • Assembly Definitions are automatically created (this behavior can be disabled in “Project Settings / New UI Widgets”)

  • added SelectableHelperList, an equivalent of SelectableHelper with multiple TargetGraphics

  • added a workaround to avoid the string comparison bug in WebGL

  • fixed Domain Reload support

  • added option to choose between creating widgets copies or prefabs from the menu

  • AutocompleteStringCombobox: fixed value selection bug

  • Combobox: now properly closed after clicking on the selected item

  • Connectors: added line arrows

  • Connectors: fixed bugs with Canvas Screen Space = Camera and canvas is rotated or have non-1 scale

  • Dialog, Picker, Popup, Notification, ModalHelper: fixed bug with cache containing destroyed game objects

  • EasyLayout: bug fixes

  • ListView: added OnItemSelected and OnItemDeselected events

  • ListView: added CreateTemplateSelector() method to replace TemplateSelector setter to support UI Themes

  • ListView: fixed events error

  • ListView: added notification if item type is not [Serializable]

  • ListView: added ColoringStriped, DefaultEvenBackgroundColor, DefaultOddBackgroundColor

  • Paginator: added VisiblePagesCount and SkipPage options

  • Paginator: now correctly updated when using the scrollbar

  • ScrollBlock: added Scroll(steps, AnimationCurve) method

  • Styles are now obsolete and replaced with UI Themes

  • Switch: fixed toggle animation

  • TimeScroller: added Scroll(TimeSpan, AnimationCurve) method

  • Tooltip: fixed bug when the tooltip was not hidden in some cases

Release 1.15.10

  • Unity 2022.2 support

  • domain reload support: fixed null reference exception

  • Autocomplete: now input with tags is correctly parsed

  • Combobox: now correctly updated when item properties changed

  • Combobox: position in hierarchy correctly restored after ListView closed

  • Combobox: fixed use ListView.Select()/Deselect() with raiseEvents = false

  • EasyLayout: fixed Grid layout bug

  • ListView: fixed GetComponentsEnumerator() return not all instances

  • ListView: minor fixes

  • ListViewPaginator: fixed LoopedList support

  • ResizableHandles: added HandlesState field to control handles visibility on select/deselect events

  • RotatableHandles: added HandleState field to control handles visibility on select/deselect events

  • TreeView: fixed ContainerMaxSize, now the size is correct if TreeView has collapsed nodes

Release 1.15.9

  • ListView: fixed undisplayed properties in the Inspector window

  • Rating: fixed Interactable does not work correctly when disabled

  • TreeView: added ContainerMaxSize option to prevent scrollbar blink caused by virtualization: the container will have the maximum width of all items. By default, the container has the maximum width of only visible items. Require ListType = List View with Variable Size.

Release 1.15.8

  • added Rating widget (Text can be replaced with an Image or any other Graphic component)

  • added async helpers scripts

  • DatePicker, PickerInt, PickerString, and custom PickerListView: added an optional OK button and Mode option to choose between “close on select” and “close on OK click”

  • Dialog, Notification, Picker, Popup: added OnBaseInstanceOpen and OnBaseInstanceClose static events

  • Dialog, Notification, Picker: added OnInstanceOpen and OnInstanceClose static events for the custom types

  • Popup: added ShowAsync() method to use with async/await

  • Styles: fixed missing font in some Unity versions

  • TileView: added LinearGroupedTileView example

  • TracksView: added Timeline

  • menu “New UI Widgets/Dialogs” renamed to “New UI Widgets/Dialogs Templates”

Release 1.15.7

  • added LoadAnimation widget

  • Dialog, Lightbox, Picker, Popup: added HideOnModalClick option

  • added workaround to avoid ReSharper RRSRP-489023 bug

  • Combobox: fixed bug when items were removed but still displayed as selected

  • ListView: added ChangeLayoutType option: if enabled changes EasyLayout.LayoutType to match ListType.

  • ListView, TreeView: now the deselect events invoked for the removed indices/nodes

Release 1.15.6

  • now the oldest supported version is Unity 2018.4

  • added Grayscale effect

  • added LocalizationSupport option to disable translation for widgets with localization support

  • added LimitMaxSize script to limit size when using anchors stretch

  • added ProgressbarCircular prefab and menu option

  • added SafeArea script to resize RectTransform to fit the safe area

  • added Swipe script

  • Dialog, Notification, Picker: added ShowAsync() method to use with async/await

  • Dialog, Notification, Picker: added IsDestroyed property to check if is instance destroyed

  • Dialog, Notification, Picker: now destroying instances will raise cancel or hide events

  • Effects (derived from UVEffect): improved filled image type support

  • Calendar: add OtherMonthWeekend and OutOfRangeDate colors to the Date component

  • ContextMenu: fixed bug occurring with opened “ContextMenu Items Editor” window in play mode

  • ListView, TreeView: fixed incorrect drop indicator position in some cases

  • ListView: added GetInstanceSize(), SetInstanceSize(), ResetInstanceSize() methods to animate items resize without problems with virtualization

  • ListView: fixed wrong drop position and indicator if enabled CenterTheItems

  • Ring Effect: added Fill option

  • TreeView Drop Support: added AutoDropPosition and DropPosition options

  • TreeView: added AllowToggle option

  • TreeView: added TreeViewToggleAnimation script to animate node toggle

  • Widgets Generator: fixed bug with “const” fields

  • Widgets Generator: now you can select the fields that will be used in the widgets, including the field for the autocomplete; it also can be done with [GeneratorIgnore] and [GeneratorAutocomplete] attributes

Release 1.15.5

  • improved Unity 2021.3 LTS support

  • COMPATIBILITY-BREAKING CHANGES: ListView: methods ComponentCreated, ComponentDestroyed, ComponentActivated, ComponentCached changed to public

  • ListView: added SetSharedTemplates() method

  • Widgets Generation: fixed bug when data type has a parameterless constructor

Release 1.15.4

  • added ScrollRectDragSensitivity

  • added UtilitiesScrollRect: get time for ScrollRect stop by inertia

  • ListView: added ReversedOrder option (items displayed from end to start)

  • ListView: added OnlyOneHighlighted option

  • ScrollRectHeader, ScrollRectFooter: added Visible option to show and hide header (or footer)

  • ScrollRectHeader, ScrollRectFooter: added layout support if DisplayType is Reveal

  • ScrollRectFooter: added ChangeLayout option

  • ScrollRectPaginator: added RoundingError option to avoid excess last page

  • Switch: added AnimationCurve option

  • Widgets Generation: fixed enum related bug

  • Widgets Generation: improved support of latest Unity versions (2022.1.0+)

  • Style: fixed “Create Style” bug

Release 1.15.3

  • COMPATIBILITY-BREAKING CHANGES: LateUpdateAdd and LateUpdateRemove methods of IUpdaterProxy renamed to AddLateUpdate and RemoveLateUpdate, added RemoveRunOnce and RemoveRunOnceNextFrame methods

  • ContextMenu: added helper script OpenContextMenu to open the menu by clicking on non-UI gameobject, requires PhysicsRaycaster and/or PhysicsRaycaster2D on the main camera

  • DateTimeScroller and DateScroller: fixed AMPM change on hours scroll if IndependentScroll enabled

  • EasyLayout: added optional movement and resize animation support; warning: can decrease performance

  • Effects: RingEffect, RippleEffect, LinesDrawer, SnapGridDrawer no more requires enabled TexCoord1 channel on Canvas

  • ListView: fixed item instance visibility if ListViewItem.DisableRecycling enabled

  • ListView: added OnNavigate event; called after navigating to the other item instance with keyboard or gamepad

  • ListView: added ItemsEvents.MovedToCache event

  • ListView: FixHighlightItemUnderPointer option now obsolete

  • ListView: added KeepHighlight option to keep item highlight on pointer enter until will be selected another gameobject

  • ListView: fixed wrong events processing order in some cases

  • ListViewItem: added StopSelectableAnimations() method to ListViewItem class

  • Notification: added OpenedNotifications, AllNotifications and InactiveNotifications properties

  • Picker: added OpenedPickers, AllPickers, and InactivePickers properties

  • Spinner: fixed bug with Unity Text and OnKeyDown validation

  • Tabs: added EventSystemSelectActiveHeader option

  • Tabs: added ImmediateSelect option

  • Tabs: added NextTab() and PreviousTab() methods

  • TimeScroller: added SingleAMPM property to disable multiple AM PM options in scroll block

  • TreeNode: added HasNodes and HasVisibleNodes properties

  • TreeView: added ToggleOnNavigate option, if enabled expand node on move right event and collapse node on move left event

  • TreeView: added ToggleOnSubmitCancel option, if enabled expand node on submit event and collapse node on cancel event

Release 1.15.2

  • added Updater static class to control scripts updates IUpdatable.RunUpdate() without reflection instead of the default MonoBehaviour.Update()

  • added SnapGrid: sticks draggable or resizable UI game objects to the nearest grid lines

  • added LinesDrawer and SnapGridDrawer effects

  • COMPATIBILITY-BREAKING CHANGES: MonoBehaviour.Update() replaced with IUpdatable.RunUpdate()

  • Autocomplete: added AllowCancelOnDeselect to cancel DisplayListView close on deselect event.

  • Autocomplete: added OnSearchCompleted event

  • Autocomplete: added ResetListViewSelection option

  • AutoCombobox: fixed InputField display bug

  • AutoCombobox: fixed coloring bug

  • AutoCombobox: added KeepSelection option (set Autocomplete.DisplayListView selected items)

  • Connectors: fixed incorrect positions when CanvasMode is WorldSpace and its scale is not 1

  • Dialog: added ButtonsContainer option

  • ListView: fixed bug with incorrect item sizes when using variable size type

  • ListView: fixed highlighting bug

  • ListView: fixed wrong background color for the last items in table mode

  • ListView: added RangeMode property to determine which element is the start when selecting a range with the Shift key.

  • ListView: fixed instance recycling if ListViewItem.IsDragged enabled

  • ListViewItem: IsDragged renamed to DisableRecycling

  • ListViewString: now sort can be disabled with EnableSort in the Inspector window

  • Notification: added ButtonsContainer option

  • Paginator: added SetPage method to change current page without animation

  • Sidebar: added ModalColor field

  • shaders: now should support stereo instanced rendering and SRP batcher (thanks to David Watt)

  • Tooltip: added generic Tooltip

  • TreeView: added FindNodes method

  • Widgets Generation: added Tooltip generation

Release 1.15.1

  • COMPATIBILITY-BREAKING CHANGES: cursors fields at components (Resizable, Rotatable, Splitter, TableHeader, *DragSupport) are no more used and replaced with Cursors asset and CursorsDPISelector component (recommended to have only one CursorsDPISelector component at the scene)

  • Accordion: added Curve property to use in animations

  • ContextMenu: fixed HotKey null bug

  • ListView: added OnComponentCreated, OnComponentEnabled, OnComponentDisabled, OnComponentDestroyed events

  • ListView: renamed StopScrollAtItemCenter to ScrollInertiaUntilItemCenter and StopScrollInertia to ScrollInertia

  • TreeView: fixed node remove bug when different nodes using the same item

  • TreeView: fixed multiple selection bug when selecting a collapsed node

  • TreeViewNodeDropSupport: added “Expand Node On Hold” option with customizable delay

  • UICursors: static methods replaced to fields so they can be replaced

Release 1.15.0

  • added ListViewEnum with ListViewEnum<T> wrapper to work with any enums

  • reduced memory allocations

  • all classes with INotifyPropertyChanged support now also implements IObservable which works without memory allocations

  • Autocomplete, Combobox: added field ParentCanvas, it used as ListView parent on open

  • Combobox: toggle-button is now full width

  • ContextMenu: now works correctly with all canvas render modes

  • DateScroller/DateTimeScroller/TimeScroller: ScrollBlock replaced with ScrollBlockBase

  • Dialog: added InactiveDialogs and AllDialogs properties to get access to the template instances

  • Dialog: DialogButton now support callback with Func<DialogBase dialog, int buttonIndex, bool closeDialog> type

  • EasyLayout: small improvements

  • EasyLayout: Filter property is obsolete and replaced with ShouldIgnore

  • Input System support: fixed bug on mobile devices

  • ListView: added property TemplateSelector, its allow to use of different templates (not only DefaultItem) depending on the item

  • ListView: added GetDebugInfo and PringDebugInfo methods

  • ListView: added “AnimationCurve animation, bool unscaledTime, Action after = null” parameters to the ScrollTo*Animated methods

  • ListView: StopScrollAtItemCenter and StopScrollInertia properties

  • ListView: fixed problem with not displayed items for ListType with variable sizes

  • ListView: added GetComponentsEnumerator to iterate through DefaultItems instances as allocation free replacement of the ForEachComponent method

  • ListView: added support of Container with custom scale

  • ListView: fixed AutoScroll bug

  • Notification: NotificationButton now support callback with Func<NotificationBase notification, int buttonIndex, bool closeNotification> type

  • Paginators: added OnMovement event

  • Popup: added content and onClose parameters to the Show method, added SetContent() method, added OnClose field, works the same way as dialog

  • Resizable: added UseCanvasScaler option, if enabled ActiveRegion will be changed according to the CanvasScaler settings

  • ScrollBlock: added OnItemChanged event to customize items depending on index and value

  • ScrollBlock: added ScrollBlockBase and ScrollBlockCustom<T> classes

  • TracksViewBase: ScrollBlock replaced with ScrollBlockBase

  • TreeView: fixed drop support bug

  • TreeView prefabs: toggle arrow is now nested

  • UICursor: added Replacement function to replace cursor (can be used to replace cursor on High DPI screens)

  • Utilities: more functions moved to the new UtilitiesUI and UtilitiesRectTransform classes

Release 1.14.2

  • added CircularSlider widget

  • added SliderScale widget

  • added TimeAnalog widget

  • Accordion: added OnStartToggleAnimation and OnDataSourceChanged events

  • Accordion: added AccordionHighlight component

  • AutoComplete: added OnItemNotFound and OnCancelInput events

  • AutoCombobox: added AddItems option (requires overrided Input2Item method)

  • CenteredSlider: event OnValuesChange renamed to OnValueChanged

  • Connectors: fixed bug related to “Scale With Screen Size”

  • Connectors: added rectangular lines support

  • Cursor: fixed flickering

  • DatePicker and DateTimePicker: fixed initial date

  • DirectoryTreeView: nested nodes are automatically loaded on expand from script

  • DirectoryTreeView: added ExpandPath(), Path2Node(), Path2NearestNode(), RefreshDirectories() methods

  • ListView: fixed highlight coloring on navigation

  • ListView: fixed unstoppable auto scroll bug

  • ListView Drop Support: added ReceiveOnlyEmptyNode option

  • RangeSlider: event OnValuesChange renamed to OnValuesChanged

  • Resizable: fixed position change

  • ScrollBlock: added AllowIncrease and AllowDecrease fields

  • Spinner: added SetValue() method to change value without OnChangeEvent invocation

  • Styles: fixed error when creating a new style

  • Styles: added PixelsPerUnitMultiplier property to the Image styles

  • TreeGraph: small performance improvement

  • TreeGraph: added LineThickness, LineType, LineMargin options

  • TreeView: added ScrollWithIndent option

  • Widgets Generation: improved localization support

Release 1.14.1

  • EasyLayout: reduced memory allocations

  • Widgets Generation: fixed type name error

  • Widgets Generation: fixed missing reference

Release 1.14.0

  • added localizations integration support

  • added I2 Localization support

  • added ContextMenu

  • added Input System support

  • added UtilitiesCompare class

  • added ScrollRectFooter

  • added AutoComboboxIcons prefab

  • Dialog, Picker, Popup: added CloseButton property

  • EasyLayout: added SetPreferredAndFitContainer option for the Children Size

  • ListView: added Header property

  • ListViewPaginator: added LoopedList support

  • Notification: added “content” and “onReturn” parameters to the Show() method

  • Style: fixed unchangeable settings after “Apply Fast Settings” use

  • Style: added “Update Default Style” option, which is opposite of the “Apply Default Style”, it gets style settings from widgets and saves them to the current style

  • Tabs: added CanSelectTab field to check if tab can be selected with a button click

  • TabsCustom: TabButton class changed to the generic class TabButton<T>

  • Widgets Generation: generated classes are partial now

  • Widgets Generation: added AutoCombobox widget

  • Utilities: most functions moved to the new Utilities* classes

Release 1.12.6

  • ListViewItem: added ToggleOnClick and ToggleOnSubmit fields

  • Widgets Generation fixes

Release 1.12.5

  • added UIFlareGlobal shader: flare at global space

  • added Ripple effect

  • UIWidgets extensions methods moved to UIWidgets.Extensions namespace

  • EasyLayout extensions methods moved to EasyLayoutNS.Extensions namespace

  • shaders: replaced properties names with properties IDs

  • Dialog: Show() arguments can later be changed with other methods: SetInfo(), SetButtons(), FocusButton(), SetPosition(), SetContent(), SetCanvas(), SetModal().

  • EasyLayout: added GetElementPosition to get position in group

  • InputFieldExtended: fixed bug with Value property (thanks to RickSaada1)

  • ListView: added ItemsEvents field

  • ListViewItem: now foreground and background graphics are serialized properties

  • Notify: added buttons support with SetButtons(IList<DialogButton> buttons) method

  • ProgressbarIndeterminate: fixed bar jump at the start

  • TableHeader: fixed bug with ColumnToggle (thanks to jbw)

  • UIFlare shaders: added flare delay property

Release 1.12.4

  • Unity 4.6+ and Unity 5.x no more supported, now the oldest supported version is 2017.4

  • fixed SendMessage warnings in Unity 2019.3 and later versions

  • assembly definitions removed because all changes in .asmdef files are deleted on package update

  • ListView: DefaultItem no more disabled by default in Editor mode

  • ListViewDragSupport: added auto-scroll when the drag is near the border

  • Notify: now you can create derived classes with NotificationCustom<T>

  • TreeView Drag&Drop: now nodes can be reordered

Release 1.12.3

  • added Pinchable component: drag, rotate, resize multi-touch support

  • added ListViewAutoResize component: auto-resize ListView or TileView according to items counts until specified maximum size reached

  • [Serializable] attribute of TreeNode<TItem> class not available for Unity 2020.1 and later versions

  • ListView: added DisableScrollRect property to disable ScrollRect if ListView is not Interactable

  • ListView and TreeView Drag&Drop: added Interactable support

Release 1.12.2

  • added DistanceLines component

  • added UI Cursor settings component

  • Dialog: fixed buttons order

  • DirectoryTreeView: fixed drives list

  • ListViewPaginator, ScrollRectPaginator: fixed LastPageFullSize option

  • ListView: now resize of disabled ListView processed correctly

Release 1.12.1

  • added converter from Unity Text to TextMeshPro text

  • added IUpgradeable interface to improve compatibility between versions

  • added Groupable component

  • added UIFlareTransparent shader

  • added ResizableHandles component

  • added Rotatable component

  • added RotatableHandle component

  • deleted a lot of lambda functions

  • other lambda functions replaced with local functions

  • renamed classes *Utilites to *Utilities

  • improved performance with Asset Pipeline V2

  • Combobox: fixed navigation support

  • Draggable: added Target property to drag the specified target instead of self

  • DragSupport: added AllowDrag field

  • DropSupport: added ReceiveItems and ReceiveNodes fields for the base classes

  • ListView: not selectable items are no more highlighted and navigated

  • ListViewPaginator, ScrollRectPaginator: added LastPageFullSize option to change the last page size to full-page size

  • Resizable: AllowResize renamed to Interactable

  • Resizable: added resize type to change between size and scale

  • Resizable: added Target property to resize the specified target instead of self

  • ScrollRectEvents: RequiredMovement replaced with Thresholds to support separate thresholds for each pull direction

  • Splitter: AllowResize renamed to Interactable

  • Widgets Generation: added option to manually specify the type name if the type cannot be detected from the MonoScript

Release 1.11.2

  • added TracksView to create custom schedule or time-line widgets

  • added InputFieldAdapter to improve TextMesh Pro support

  • added ListComponentPool

  • added SplitButton

  • Dialog: added RectTransform content and Action onClose parameters to Show(…) method

  • Dialog: added OpenedDialogs property to get list of the opened dialog

  • Dialog: DefaultButton replaced with ButtonsTemplates and DialogActions now has option to specify button index for the button template

  • Dialog: type of the “buttons” parameter in the Show() method changed to IList<DialogButton>

  • Dialog: added “Func<int, bool> onCancel” parameter to the Show() method, called with -1 parameter when dialog closed with top right close button

  • DragListener: OnDragListener renamed to DragListener

  • DragSupport: added optional DragHandle property, you can use it drag ListView items by specified handle instead of the whole item

  • DragSupport: added StartDragEvent and EndDragEvent

  • EasyLayout: added ElementsRotate and ElementsRotationStart for Ellipse layout

  • ListView: improved navigation support

  • ListView: added optional parameter minVisiblePart to IsVisible() method

  • ListView: replaced old ListView with ListViewString

  • ListView: added Virtualization setting to disable Virtualization

  • ListViewDropSupport: added DropPosition parameter

  • ListViewPaginator: now use ListView.ScrollToAnimatedPosition instead of the own animation

  • Notify: fixed incorrect size and rotation of next notification if previous notification was closed during hide animation

  • Resizable: added AllowResize property to enable/disable resize without removing component

  • ScrollBlock: SetText() renamed to UpdateView()

  • ScrollRectPaginator: ForceScrollOnPage replaced with ForcedPosition to support different positions

Release 1.11.1

  • added AutocompleteCombobox

  • ListView: fixed scrolling bug with variable size list types

  • Notify: renamed AnimationRotate to AnimationRotateVertical, AnimationCollapse to AnimationCollapseVertical

  • Notify: added animations AnimationRotateHorizontal, AnimationCollapseHorizontal, AnimationSlideRight, AnimationSlideLeft, AnimationSlideUp, AnimationSlideDown

  • Notify: added configurable animations AnimationRotateBase, AnimationCollapseBase, AnimationSlideBase

  • Resizable: added OnResize event

  • Splitter: added OnResize event

  • Tabs: added SelectedTabIndex property

Release 1.11.0

  • added ScrollRectHeader (example of usage in Examples/ListView/ListViewHeader scene)

  • added EasyLayoutEllipseScroll

  • Combobox: added OnShowListView and OnHideListView events

  • EasyLayout: added new layout type Ellipse

  • EasyLayout: added new option ResetRotation

  • ListView: added DestroyDefaultItemsCache, if enabled instances of the previous DefaultItem will be destroyed when replacing DefaultItem

  • ListView: added new ListViewEllipse list type

  • Scroller: renamed to ScrollBlock

Release 1.10.4

  • added DateScroller, DateTimeScroller, DateTimeScrollerSeparate, TimeScroller widgets

  • added EditorCondition attributes to use with MonoBehaviourConditional and UIBehaviourConditional

  • added LayoutElementMax: allow to control the maximum preferred sizes of the LayoutGroup

  • added UIFlare shader

  • Combobox: added HideAfterItemToggle option

  • DateTime: fixed init and time errors

  • DatePicker: added DateChangeOnly option to allow to select date on change or on click

  • EasyLayout: fixed FitContainer

  • ListView: added null value support for the GraphicsForeground and GraphicsBackground properties

  • ListView: added AllowColoring option

  • ListView: added StateDefault(), StateSelected() and StateHighlighted() functions to the base default item class as addition to coloring functions

  • ListView: added loading example with UIFlare shader use

Release 1.10.3

  • added GroupedTileView example

  • DragRedirect: improved support for the multiple redirects

  • GroupedList: added ItemsPerBlock, EmptyGroupItem, EmptyItem properties for the TileView support

  • EasyLayout: added Flex layout type

  • EasyLayout: added Staggered layout type

  • EasyLayout: renamed Stacking to MainAxis

  • ListView: HighlightedBackgroundColor and HighlightedColor now applied automatically after changed

  • ListView: fixed scrolling when List Type is fixed, ListScrollValue enabled and DefaultItem have Layout Group

  • ListView: fixed rare bug for the ListView with items of the variable sizes.

  • ListView: added missing fields in the Inspector window for the simple ListView

  • ListView: added TileViewStaggered renderer

  • ScrollRectPaginator: fixed displayed buttons at the start

  • Style: fixed error when style created not in the folder or outside Assets folder

  • TextMesh Pro support: improved support for the Unity 2019.1

  • Tooltip: fixed displayed tooltip after parent gameobject was disabled (thanks to Gladyon)

  • Widget Generation: fixed bug when type has only one field of the supported types

Release 1.10.2

  • added ScrollbarMinSize component - allow set minimum size of the scrollbar handle

  • added DragOneDirection component - it changes drag event to work only with one direction

  • added LayoutDropIndicator component to use with TableHeader

  • added Project Settings support for Unity 2018.3 and later

  • Accordion: fixed problems when content size changed

  • Accordion: added ForceOpen() and ForceClose() functions to open and close items without animation

  • Accordion: added fields AnimationOpen, AnimationOpenFlexible, AnimationClose, AnimationCloseFlexible to change animations

  • AudioPlayer: added setter for Source property

  • LayoutSwitcher: added LayoutSelector field to control layout selection

  • ListView: added CanSelect(index) and CanDeselect(index) fields

  • ListView: added PrecalculateItemSizes, disabling this option increase performance with huge lists of items with variable sizes

  • ListView: fixed LimitScrollValue when scroll to end

  • ListView: fixed error when drag-and-drop position after the last item

  • ObservableList: added INofityPropertyChanged implementation

  • ObservableList: added ObserveItems field

  • ObservableList: now allowed null items

  • RangeSlider: now correctly works when enabled or disabled inside layout groups

  • ResizableHeader: renamed to TableHeader with related class

  • TableHeader: no more required IResizableItem implementation for the ListView.DefaultItem

  • TableHeader: added GetColumnsOrder() and SetColumnsOrder() functions

  • TableHeader: added DropIndicator support

  • Sidebar: added prefab and styles support

  • Spinner: now use InputField component instead of the inheritance

  • Spinner: added TextMesh Pro support

  • Switch: SetStatus() now does not invocate events for other Switches in the same group

  • TextMesh Pro support: widgets created with default menu “UI / New UI Widgets / …” if support enabled

  • TextMesh Pro support: removed menu “UI / UIWidgets with TextMesh Pro / …”

  • TextMesh Pro support: added menu “Edit / Project / Settings / New UI Widgets / Import TextMesh Pro support package” to import TMPro prefabs after update to new version

  • Widget Generation: added ScriptableObject support

  • Widget Generation: added Data Bind support

  • Other: fixes related using instantiate with inited complicated widgets

  • Other: “UIWidgets” in the menu replaced with “New UI Widgets” to match with the package name

  • Other: Time used with animations can be controlled with Utilities.GetTime field (You can use own Time manager instead of the default Time.time)

Release 1.10.1

  • ListView: added ScrollTo(item) and ScrollToAnimated(item) functions

  • Paginator: added StopAnimation() function

  • ListViewPaginator: fixed direction problem

  • TreeView: added ScrollTo(node) and ScrollToAnimated(node) functions

  • TreeView: added FindNode() function

  • TreeView: now ScrollTo(..) and ScrollToAnimated(…) correctly work with node indentation

  • Widget Generation: added interface types support

  • Widget Generation: fixed property support

Release 1.10.0

  • Added styles support (Styles folder, new styles can be created from context menu “Create / UIWidget - Style”)

  • Added widget generation (context menu “Create / UIWidget - Widgets” on file with item class definition)

  • Added DateTime, Time24 and Time12 widgets

  • Added DateTimePicker and TimePicker widgets

  • Added ColorPickerRangeHSV widget

  • Added ColorsList widget to display list of the selected colors, should be used with ColorPicker or ColorPickerRange.

  • Added “Data Bind for Unity” support (requires Unity 5.6 or later)

  • Added base ListView Picker class for the custom ListView

  • Added base TreeView Picker class for the custom TreeView

  • Added base drop support class for the custom TreeView

  • Added base drop support class for the custom TreeView node

  • Added assembly definitions

  • Improvement: Drag can be canceled with Cancel button

  • Accordion: added AllItemsCanBeClosed option

  • Autocomplete: added GetInputFieldText() function

  • Calendar: added DateMin and DateMax properties

  • Calendar: added currentDateAsDefault option

  • ColorPicker: added Hex block

  • ColorPicker: added new palette mode HSVCircle

  • ColorPickerRange: DefaultShader replaced with DefaultShaderHorizontal and DefaultShaderVertical

  • Connectors: now works correctly with “Screen Space - Camera”

  • EasyLayout: reduced memory allocations

  • EasyLayout: EasyLayout namespace renamed to EasyLayoutNS to avoid problems with Unity 2018.2 and later

  • Interfaces: IItemWidth, IItemHeight, IListViewItemHeight, IListViewItemWidth not used anymore

  • ListView: added CenterTheItems property

  • ListView: added overridable functions CanBeSelected() and CanBeDeselected()

  • ListView: added LoopedList option

  • ListView: added Interactable option

  • ListView: added IsTable option (required to valid stylization)

  • ListView and TileView: ListViewCustomWidth, ListViewCustomHeight, TileViewCustom and TileViewCustomSize replaced with ListViewCustom with List Type option

  • ListViewCustomWidth: TItem now does not require IItemWidth implementation

  • ListViewCustomHeight: TItem now does not require IItemHeight implementation

  • ListViewDropIndicator: added styles support

  • ResizableHeader: fixed resize on touch devices

  • Sidebar: added OnOpeningStarted and OnClosingStarted, called when appropriated animation started

  • other: prefabs in “Sample Assets” folder replaced with scenes

  • other: “Standart Assets” folder renamed to “Scripts”

  • other: “Sample Assets” folder renamed to “Examples”

  • other: removed ListViewGameObjects prefab

  • other: removed outdated prefabs and sprites

  • other: namespace “UIWidgetsSamples” renamed to “UIWidget.Examples”

Release 1.9.3

  • Accordion: now works with content with dynamically change size

  • ListView’s, TileView’s, TreeView’s: added GetItemPositionMiddle()

  • ListView’s, TileView’s, TreeView’s: added ScrollToPosition()

  • ListView’s, TileView’s, TreeView’s: added ScrollToPositionAnimated()

  • ResizableHeader: added ColumnEnable, ColumnDisable and ColumnToggle

  • ResizableHeader: fixed problem with adding columns

  • ResizableHeader: improvements

Release 1.9.2

  • added TreeViewCustomNodeDragSupport

  • added ScrollButtons

  • Autocomplete: fixed problem with resizing

  • Autocomplete: added SearchDelay and MinLength options

  • ColorPicker: fixed incorrect display in linear colorspace

  • ColorPicker: now click on palette or image will change color

  • Draggable: added Horizontal and Vertical options

  • Draggable: added Restriction option

  • ListViewCustomDragSupport: added DeleteAfterDrop parameter

  • ListView’s, TileView’s, TreeView’s: added SetContentSizeFitter parameter

  • ListView’s, TileView’s, TreeView’s: added Navigation parameter

  • ListView’s, TileView’s, TreeView’s: added IsVisible() function to check if item is visible

  • ListView’s, TileView’s, TreeView’s: added animated scrolling to items - ScrollToTime() and ScrollToSpeed()

  • ListView’s, TileView’s, TreeView’s: Multiple renamed to MultipleSelect

  • RangeSlider: added RangeSliderType; it’s allow or disable handles overlay

  • Resizable: fixed error with allowed directions

  • Sidebar: added new animation type ScaleDownAndPush

  • Spinner: fixed input parsing problem

  • Splitter: added Mode option, so you can specify left and right targers, instead using previous and next siblings in hierarchy

  • TreeView: added serialization support with TreeNode<T>.Serialize() and TreeNode<T>.Deserialize()

  • TreeView: fixed error when deleting selected node with disabled DeselectCollapsedNodes

  • TreeView: added ExpandParentNodes() and CollapseParentNodes() functions

  • TreeView’s DefaultItem: Filler renamed to Indentation

  • Dialog, Notify, Picker, Popup: Template() renamed to Clone()

Release 1.9.1

  • Fixed CenteredSlider

  • Fixed missing links in prefabs

  • Fixed demo scene

Release 1.9.0

  • Added AudioPlayer

  • Added Calendar

  • Added DatePicker

  • Added DirectoryTreeView

  • Added FileDialog

  • Added FileListView

  • Added FolderDialog

  • Added PickerBool (can be used as Confirmation dialog with Yes/No/Cancel options)

  • Accordion: added ResizeMethod property

  • Accordion: protected Items property replaced with public DataSource property with type ObservableList<T>

  • Accordion: added DisableClosed option

  • ColorPicker: added Image palette, you can use it to get colors from custom Texture2D. The texture must have the Read/Write Enabled flag set in the import settings, otherwise this function will fail.

  • ColorPicker: fixed bug with wrong axes with Hue palette

  • Drag&Drop: added generic classes ListViewCustomDragSupport and ListViewCustomDropSupport, using them to add Drap&Drop functionality for own ListView’s become more easily. Check ListViewIconsDragSupport and ListViewIconsDropSupport as reference (ignore TreeNode region).

  • EasyLayout: fixed “dirty” scene bug when using FitContainer or ShrinkOnOverflow

  • ListView’s: DataSource can be safely used from other threads

  • ListView’s: added GroupedListView sample

  • ListView’s: added .Select(int index, bool raiseEvents) function, you can use it to select items without raising events

  • ListView’s: added Owner field to ListViewItem (base class for any DefaultItem), it contains link to parent ListView

  • ListView’s: you can implement IViewData<T> to DefaultItem component class to avoid overriding ListView.SetData() function

  • ListView’s: added virtual properties Graphic[] GraphicsForeground and Graphic[] GraphicsBackground to ListViewItem, you can them to specify grapgics for coloring, instead overriding coloring functions

  • Resizable: mark events as used

  • SlideBlock renamed to Sidebar

  • Sidebar: added new animation types Overlay (default), Push, Uncover, ScaleDown, SlideAlong, SlideOut, Resize

  • Sidebar: added AnimateWithLayout option for Resize animation, use it if you need more than one Sidebar with Resize on same Content object

  • Spinner: added AllowHold option, so you can disable increasing/decreasing value during pointer hold

  • Switch: added .SetStatus(bool value), you can change state without raising corresponding events

  • TileView’s: added TileViewCustomSize

  • Tooltip: added UnscaledTime option

  • TreeNode: added RootNode property, used to check if nodes belong to same tree

  • TreeView’s and TreeNode: Nodes type change from IObservableList<TreeNode<TItem>> to ObservableList<TreeNode<TItem>>

  • TreeView: added SelectedNodes property

  • TreeView: added DeselectCollapsedNodes property, enabled by default

  • TreeView: added .Node2Index(TreeNode<TItem> node) function

  • TreeView: added .SelectNode(TreeNode<TItem> node) and .SelectNodeWithSubnodes(TreeNode<TItem> node) functions

  • TreeViewDataSource: fixed incorrect branch bug (thanks to Heiko Berres)

  • ProgressBar: added SpeedType option

Release 1.8.5

  • IInputFieldProxy: properties onValueChange, onValueChanged, onEndEdit type changed to UnityEvent<string> and get only.

  • ListView: now is possible change DefaultItem in runtime

  • ListViewItem: now works without ImageAdvanced

  • SlideBlock: added Modal property, if enabled SlideBlock will be closed on click outside SlideBlock

  • Tabs: added EnableTab and DisableTab functions

Release 1.8.4

  • Added ColorPickerRange - allow selecting color from a range of two colors.

  • Fixed Combobox bug.

Release 1.8.3

  • Added SelectableHelper - allow controlling additional Graphic component according to selection state of current gameobject. So you can control button background color with Button component and Button text color with SelectableHelper

  • Added ListViewInt

  • Added Picker - base class for creating own pickers

  • Added PickerInt, PickerString, PickerIcons

  • Added LayoutSwitcher

  • SpinnerFloat - added property Culture, specified how the number will be displayed and how input will be parsed

  • SpinnerFloat - added field DecimalSeparators, along with decimal separator within Culture determine valid decimal separators for input (Warning: incompatible types with different Unity versions - Unity 4.x use string[] and Unity 5.x use char[])

  • Spinner, SpinnerFloat - fixed overflow exception

  • Resizable - added corners directions for resize

  • ListView’s - added FadeDuration for colors change

Release 1.8.2

  • EasyLayout - added Shrink on Overflow option

  • EasyLayout - added CompactConstraint and CompactConstraintCount options

  • Splitter - fixed problem with using more than one splitter with the same container

  • Tabs - added prefab for left side Tabs

  • Added ScrollRectRestictedDrag

  • TextMeshPro support available with separate unitypackage

  • Beta: Added Connectors. Add SingleConnector or MultipleConnector to empty gameobject

Release 1.8.0

  • Added ScrollRectPaginator

  • Added ListViewPaginator

  • Added Autocomplete

  • Added Popup

  • TreeView: added TreeViewDataSource component with nodes editor

  • ListView’s: added ScrollTo()

  • EasyLayout: reduced memory allocation

  • EasyLayout: added row/column constraint for Grid layout

  • Tabs: added DefaultTabName property

  • TreeNode: added Path property - return list of parent nodes

  • TreeViewComponent: added OnNodeExpand property with Rotate (rotate toggle) and ChangeSprite (change toggle sprite) values

  • Notify and Dialog: added Template() method, now you can use notifyPrefab.Template().Show(…) instead Notify.Template(“template name”).Show(…)

  • CenteredSlider: added ValueMin, ValueMax and UseValueLimits. If UseValueLimits enabled then ValueMin <= Value <= ValueMax

  • Tabs: added TabButtonComponent, use derived class with overridden SetButtonData() to control how tab name will be displayed. For TabsIcons you can use TabIconButton.

  • Dialog: added DialogButtonComponent, use derived class with overridden SetButtonName() to control how button name will be displayed.

  • Dialog: added DialogInfoBase, use derived class with overridden SetInfo() to control how info will be displayed.

  • ListView’s, TileView: added DropIndicator for Drag-and-Drop

  • TileView: added TileViewScrollRectFitter, ScrollRect will be resized to display whole number of items.

Release 1.7.4

  • Added Switch

  • Resizable: added KeepAspectRatio property

  • Tabs: added SelectedTab property

  • Tabs: added OnTabSelect event

  • Known problems: Accordion with EasyLayout and Canvas.PixelPerfect enabled in Unity 5.3 cause error “Trying to add (Layout Rebuilder for) {ObjectName} (UnityEngine.RectTransform) for layout rebuild while we are already inside a layout rebuild loop. This is not supported.” in some cases. Workaround - use Vertical or Horizontal Layout Group instead EasyLayout.

Release 1.7.2

  • Fixed errors in WinStore builds.

  • IDropSupport: added DropCanceled method.

  • DragSupport: added DragPoint property (empty gameobject on cursor/touch position), you can use it to attach custom gameobject with information about draggable object.

  • ListViewIconsDragSupport, TreeViewNodeDragSupport: show information about draggable object.

  • Tabs: added Tabs with icons.

Release 1.7.0

  • Added Drag and Drop support.

  • ComboboxCustom and ComboboxIcons: Added Multiselect support.

  • ResizableHeader: Added drag column support.

  • TreeViewItem: Added Tag property.

  • SlideBlock: Optional support for children ScrollRect.

  • Accordion: Added Direction.

  • Accordion: Added support Horizontal Layout Group and Vertical Layout Group (Content Objects should have LayoutElement component).

  • ListViews: Added limited support Horizontal Layout Group and Vertical Layout Group (you cannot change ListView direction in runtime).

  • ObservableList: Added events OnCollectionChange (raised when items added, removed or replaced) and OnCollectionItemChange (raised when item in collection raise OnChange or PropertyChanged events).

  • ObservableList: Added Comparison, ResortOnCollectionChanged, ResortOnCollectionItemChanged properties.

  • TreeNode: Added Parent property. Now you can remove node from tree using Node.Parent = null or move node to another subtree Node.Parent = AnotherNode.

Release 1.6.5

  • Added Resizable.

  • Added Splitter.

  • Added SlideBlock.

  • Added ScrollRectEvents component with PullUp, PullDown, PullLeft, PullRight events (use it for refresh or load more options).

  • ListViewCustom: Removed properties SelectedComponent and SelectedComponents.

  • ObservableList: Now you can disable items observe in constructor.

  • ListViewItem: Added MovedToCache function, called when item moved to cache, you can use it to free used resources.

  • Added Table sample (ListViewCustom + ResizableHeader + Tooltip).

  • TileView sample - added Resizable for TileView and TileViewItems and toggle direction.

  • Bug fixes.

  • Optimization.

Release 1.6.0

  • ColorPicker

  • For ListView, ListViewIcons, ListViewCustom, ListViewCustomHeight, TileView added support for ObservableList

  • Items property marked obsolete but can be used.

  • Added optional sequence parameters for Notify - notifications can be showed one by one, not only all at once like before.

  • For ListViewIcons items and TreeView nodes added field LocalizedName, so now can be easily added localization support.

  • EasyLayout - Control Width, Max Width, Control Height, Max Height replaced with “Children Width” and “Children Height” with options:
    • Do Nothing

    • Set Preferred - Set width/height to preferred, like Control Width/Height

    • Set Max from Preferred - Set width/height to maximum preferred width/height of items, like Max Width/Height

    • Fit Container - similar to “Child Force Expand” from Horizontal/Vertical Layout Group

  • ListViewCustomHeight - implementation of IListViewItemHeight for components now optional, but you still can implement it for optimization purpose.

Release 1.5.0

  • Added TileView

  • Added TreeView

  • Added ResizableHeader

  • Direction option for ListView’s

  • Value option for ListViewIcons items

Release 1.4.2

  • Added ListViewCustomHeight (support items of variable heights)

Release 1.4.1

  • Added CenteredSlider.

Release 1.4

  • Added RangeSlider

  • Added Accordion

  • Bugfixes. Thanks to Nox from Purple Pwny Studios (http://purplepwny.com) for helping fix a mobile combobox bug.

Release 1.3

  • Added ListViewIcons

  • Added ComboboxIcons

  • Added ListViewCustom

  • Added ComboboxCustom

Release 1.2

  • Added Dialog

  • Added Draggable

Release 1.1

  • Added Notify

  • Added EasyLayout

Release 1.0

  • Initial release