New UI Widgets

Demo | Documentation | Video Tutorials | Unity Discussions


Building UI in Unity can be a slow and tedious process, especially when dealing with dynamic data. Manually building lists, tables, and interactive elements for different data types can lead to long development cycles and unnecessary complexity. New UI Widgets make this process easier with a Widgets Generator that automates UI creation so you can focus on the functionality.


Designing for dynamic content usually requires a lot of manual work – creating scripts, prefabs, setting up bindings, and performance optimization. New UI Widgets eliminate this hassle by generating UI components based on your data structure. Whether you need lists, tables, or hierarchical views, the Widgets Generator creates ready-to-use, customizable widgets that fit into your project.


Comprehensive Set of UI Components

Beyond the Widgets Generator, this package includes a wide range of UI elements to enhance your Unity projects:

  • Collections: ListView, Table (DataGrid), TileView, TreeView, DirectoryTreeView, and FileListView with built-in virtualization for efficient rendering.
  • Containers: Accordion, Tabs, and StackView for better organization of UI elements.
  • Dialogs: DatePicker, DateTimePicker, Dialog, FileDialog, FolderDialog, Notifications, and various Picker components.
  • Input: Autocomplete, Calendar, CenteredSlider, CircularSlider, ColorPicker, RangeSlider, Spinner, Switch, and DateTime selectors.

Advanced Interactions and Customization

Full source code included.


Some widgets, like DirectoryTreeView and FileListView, are limited in functionality or not available on platforms with restricted access to the file system (like WebGL and Windows Store/UWP)


Support: support@ilih.name

Release Notes

v1.18.10

  • Unity 6.4 support

v1.18.9

  • Autocomplete: 'char[] DelimiterChars' replaced with 'string[] Delimiters'
  • Cursors: fixed an incorrect warning when cursors are specified in the component
  • ListView: added OnItemDropped event
  • ModalHelper: Open() method is replaced with OpenAt() method with simplified signature
  • RoundedCorders: added FadeSupport option, enabled by default
  • Tooltip: added an AnchoredPosition option to the TooltipSettings, used when Position is set to Fixed
  • TreeView: added NodeDropped event

v1.18.8

  • fixed "[RuntimeInitializeOnLoad] methods cannot be in generic classes" warning

v1.18.7

  • TrackView demo: fixed the stack overflow bug
  • SafeArea demo: fixed swapped top and bottom border

v1.18.6

  • Unity 6.3 support
  • fixed error when an empty TextMeshPro package version 5.0.0 is installed
  • fixed conversion from ColorHSV to Color (completely black and white colors were impossible)
  • ListViewEnum: now you can specify a list of enums to use with "Wrapper = ListView.UseEnum(new [] { EnumType.Value0, EnumType.Value3, });"
  • Paginator: fixed the problem with Forced Position = Center on the first and last page

v1.18.5

  • fixed error on first-time installation ("UITHEMES_INSTALLED" is not added to the "Scripting Define Symbols")

v1.18.4

  • ColorPicker: fixed a bug related to linear color space handling
  • ListView: fixed a bug where an incorrect number of items were displayed when using large margins
  • ListView: fixed a bug in Variable Size mode when the data type does not implement IComparable
  • ListView: fixed a bug in Variable Size mode where rows or columns were miscalculated
  • ListView: fixed a bug with ReversedOrder and asymmetric margins

v1.18.3

  • Unity 6.1 and 6.2 support
  • added implementation of the IEquatable<T> interface for all data types
  • added ObservableData and ObservableDataWithPropertyChanged - base classes for the observable types
  • added CalendarSpinner and DateSpinnerPicker prefabs (year can be changed with Spinner)
  • added CalendarYearList and DateYearListPicker prefabs (similar to Windows calendar), replacing previous Calendar and DatePicker
  • AutoCombobox: fixed disabled InputField when no selected item
  • DateTime and DateTimePicker prefabs: now CalendarYearList is used by default
  • ListView: fixed bug when deselect events are called with SelectedIndices in an invalid state
  • Picker: added OnClose callback
  • Popup: OnClose callback now is called after the close animation ends
  • Tabs: added Animation, AnimationDuration, UnscaledTime, and CustomAnimation options
  • TracksView: fixed bug with undisplayed items (thanks to cookiedrugs)
  • WindowAnimations: fixed bug with incorrect anchorMax of the RectTransform
  • WindowAnimations: one frame delay in animations is replaced with the OnAnimationStart event in the widgets that use this component

v1.18.2

  • added FileTable prefab
  • added StackView container
  • added Unity Localization Support (will be used default table specified in the "String Database / Default Table Reference" in the localization settings)
  • fixed the error when InputSystem is not installed
  • Dialog: added parent argument to the Show() and ShowAsync() methods
  • EasyLayout: the SettingsChanged event is now called if values change in the Inspector window
  • EasyLayout: fixes for the Flex layout
  • IViewData<T>: added the OnItemChanged property
  • ListView: added Flex layout support for the TileView with Fixed Size
  • ListView: fixed bug with KeepScrollAtBottom when item is larger than ListView container
  • ListViewComponent: added the OnItemChanged property
  • Paginator: the VisiblePagesCount even values are rounded up to an odd number except 0
  • Project Settings: now can change default namespaces and paths for the Widgets Generator
  • RounderCorners and RounderCornersX4: now correctly works with the Mask component if Mask is placed after the RounderCorners component
  • Shaders: fixed bug in VR mode
  • Widgets Generator: added DataBind support for the Item property of the created ListViewComponent and TreeViewComponent
  • Widgets Generator: fixed bug with get-only properties

v1.18.1

  • ContextMenu: now the Visible and Interactable options of menu items are enabled by default
  • Notification: added the AnimateOnHideButton option, if enabled the hide animation will run on HideButton click
  • Notification Animations: the ShowDuration and HideDuration options are obsolete; use the ShowAnimationCurve and HideAnimationCurve options instead
  • Notification Animations: removed the ShowAnimateOthers and HideAnimateOthers options; you can use the EasLayout.MovementAnimation option instead
  • ScrollRectPaginator: now the ActivePage can work even if DefaultPage is not specified
  • UIThemes Support: added support for default/active icons for the TabsIcons
  • Widgets Generator: added support for the R3.SerializableReactiveProperty<T> fields and properties

v1.18.0

  • Dialog, Picker, Popup: added animations support, for the existing dialogs/pickers/popups you can add the WindowAnimations component or create a custom animation component with the IWindowAnimations implementation
  • EasyLayout: removed incorrect warning in some cases
  • Notification: added the NotificationsAnimations component for open/close animations, it has more priority than ShowAnimation and HideAnimation fields and arguments, you can create a custom animation component with the IWindowAnimations implementation
  • TableHeader: added the FillContextMenu and ContextMenuNames options to automatically fill ContextMenu to enable/disable columns
  • UtilitiesTime static fields were replaced with WidgetsTime.Instance
  • Widgets Generator: added ContextMenu to enable/disable table columns
  • reduced amount of static fields

v1.17.16

  • Effects: fixed bug with zero vertices (like Text component without any text)
  • ListView: added the KeepScrollAtBottom option, which keeps the scroll at the bottom on DataSource changes (only if the scroll is already at the bottom)
  • ObservableListFilter: Output now uses the same comparison as Input
  • Widgets Generator: added option to specify paths for the created scripts, prefabs, scenes, etc
  • Widgets Generator: added GeneratorPaths attribute to specify paths directly in the data type
  • Widgets Generator: added GeneratorNamespace attribute to specify namespaces for the created scripts directly in the data type
  • shaders: fixed bug related to HDR
  • shaders: fixed bug related to VR

v1.17.15

  • InputAdapter: added a workaround to properly update the layout because TMP_InputField does not call LayoutRebuilder.MarkLayoutForRebuild() when it should be
  • ListView: the RetainScrollPosition option now correctly works with the enabled ReversedOrder option
  • Project Settings: removed performance impact on enter/exit play mode
  • Rating: fixed error on Value = 0
  • Rating: now interactable works properly
  • SafeArea: added OnScreenChange event with information about borders
  • Swipe: added OnTap event
  • UIThemes: added the "Attach UI Only" option in "Project Settings... / UI Themes", if enabled ThemeTarget component will be added only to game objects with RectTransform component

v1.17.14

  • COMPATIBILITY-BREAKING CHANGES: methods Updater.RunOnce(Action) and Updater.RunOnceNextFrame(Action) replaced with methods Updater.RunOnce(Action) and Updater.RunOnceNextFrame(Action)
  • added ListViewDefaultItemAutoResize: automatically changes item instances size on ListView resize, used when only one item should be visible
  • InputFieldAdapter: added the SetTextWithoutNotify(string text) method
  • EasyLayout: added warning when one of the objects in the same row has relative width (or one of the objects in the same column has relative height)
  • EasyLayout: added IgnoreLayoutElementSizes option: if enabled ILayoutElement options will be ignored, increases performance without side effects if ChildrenWidth and ChildrenHeight are not controlled
  • EasyLayout: added Hex layout
  • ScrollBlock: added ScrollBlockResizer component to resize ScrollBlock items to display specified item count independent of size
  • TreeView: fixed bug in the TreeViewDropSupport components
  • UIThemes: now support addressable assets, support can be enabled in "Project Settings... / UI Themes"
  • UIThemes: Theme: added the AddressableSupport option, addressable assets can be preloaded with PreloadAddressable() or PreloadAddressable(VariationId) calls
  • UIThemes: now requires references to the Unity.Addressables and Unity.ResourceManager in the UIThemes assembly definition
  • UIThemes: now requires reference to Unity.Addressables.Editor in the UIThemes.Editor assembly definition

v1.17.13

  • improved Assembly Definitions support
  • ListView: reduced the SetData() calls for the item instances to improve performance
  • ListView: fixed bug with DataSource.Clear()
  • TreeView: improved RetainScrollPosition support

v1.17.12

  • added ScrollRectAutoScroll component: allows scrolling content during drag&drop when the pointer is in less than a specified distance from the border
  • ListView: fixed ReversedOrder for the horizontal direction
  • Drag: added the DragDelay option - how many seconds must pass from the click to the start of dragging
  • Drag: added the RedirectDragToScrollRect option - redirects the drag events to the parent ScrollRect if the drag starts before DragDelay time is passed

v1.17.11

  • ListView: scroll no more "jump" when dragging backward and item size is changed
  • Widgets Generator: fixed bug occurring when the default theme is not specified

Basic Information
Latest Version
1.18.10f1 (05 Apr 2026)
Publisher
Ilia Novikov
Category
Tools/GUI
Size
11.9 MB
Price
€91.08
Asset Rating
(142)
Extended Information
Unity Versions
2020.3.49, 2021.3.45, 2022.3.62, 6000.0.68, 6000.3.10, 6000.4.0
Render Pipelines
BIRP URP HDRP
State
Published