From 2e979df8e57a51b3a4adcad6d13f239371cb1b0e Mon Sep 17 00:00:00 2001 From: "Simon (Darkside) Jackson" Date: Fri, 4 Sep 2026 20:17:13 +0100 Subject: [PATCH] Fold Unreleased changelog entries into the 1.0.0 release notes Moves the editor menu, starter templates, self-applying styles and ElasticListView UXML items under the 1.0.0 entry, adds an editor integration highlight, and dates the release 2026/09. The dependency and assembly clean-ups are kept as changes relative to the 1.0-preview.1 pre-release. Co-Authored-By: Claude Fable 5.1 --- CHANGELOG.md | 120 +++++++++++++++++++++++++-------------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4761cdc..8a44199 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,101 +4,101 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). -## [Unreleased] +## Release 1.0.0 - Launch - 2026/09 -### Added - -- **Editor menu integration** — a new `GameObject/UI Toolkit/Extensions` menu adds any of the 22 UXML-placeable controls to the scene in basic form with demo content, automatically creating a `UIDocument` and `PanelSettings` (with the default runtime theme) if the scene has none. The UI Toolkit counterpart of the uGUI Extensions `GameObject/UI/Extensions` menu. -- **Starter templates** — per-control starter UXML templates with demo content, also available from `Assets/Create/UI Toolkit/Extensions` for dropping into existing documents. Instantiated copies are placed under `Assets/UI Toolkit Extensions` so they remain freely editable. -- **Self-applying control styles** — while authoring (UI Builder) and in Play Mode, controls attach the shared extensions stylesheet automatically on construction, so they render correctly without manually referencing the stylesheet. Overlay controls (`DropDownControl`, `DropDownMenuControl`, `ImageCropOverlayControl`) also style their root-attached panels directly. In player builds, styling comes from the explicit stylesheet references in the starter templates and from the theme generated by the editor menu (which imports the shared stylesheet panel-wide). -- **`ElasticListView` UXML-authored items** — child elements declared inside an `ElasticListView` tag (or added via plain `Add()`) now become list items, via a `contentContainer` override routing them into the item content. Items were previously only addable from code with `AddItem()`/`SetItems()`. - -### Changed - -- Package dependency corrected from the deprecated `com.unity.ui` preview package to the built-in `com.unity.modules.uielements` module. -- Removed leftover uGUI assembly references from the Runtime and Editor assembly definitions, and the placeholder `DumbScript` from the Editor assembly. - -## Release 1.0.0 - Launch - 2026/06 - -The first release of **Unity UI Toolkit Extensions** — a brand-new companion to the long-running uGUI Extensions library, built from the ground up for Unity 6 and the UI Toolkit (UITK) system. +The first release of **Unity UI Toolkit Extensions** - a brand-new companion to the long-running uGUI Extensions library, built from the ground up for Unity 6 and the UI Toolkit (UITK) system. > **Two packages. One ecosystem.** These notes cover the **UI Toolkit** package (`com.unity.uitoolkitextensions`). It launches alongside the V3 relaunch of its sibling under the shared 3.0 banner: [UI Extensions (uGUI)](https://github.com/Unity-UI-Extensions/com.unity.uiextensions). ### Highlights -- **Built for Unity 6 + UI Toolkit** — a native UITK control library targeting Unity `6000.0` and above, distributed via the Unity Package Manager / OpenUPM. -- **25 controls out of the box** — covering navigation, layout, forms, media, toggles, and feedback, all using the `Unity.UI.Extensions` namespace. -- **Reusable utilities** — helpers for code-first VisualElement construction, attention animations, and procedural textures. -- **12 ready-to-run sample scenes** — included as a UPM sample, demonstrating the controls in realistic combinations. +- **Built for Unity 6 + UI Toolkit** - a native UITK control library targeting Unity `6000.0` and above, distributed via the Unity Package Manager / OpenUPM. +- **25 controls out of the box** - covering navigation, layout, forms, media, toggles, and feedback, all using the `Unity.UI.Extensions` namespace. +- **Editor menu and starter templates** - add any control to a scene or document from the `GameObject/UI Toolkit/Extensions` and `Assets/Create/UI Toolkit/Extensions` menus, with demo content and styling already wired up. +- **Reusable utilities** - helpers for code-first VisualElement construction, attention animations, and procedural textures. +- **12 ready-to-run sample scenes** - included as a UPM sample, demonstrating the controls in realistic combinations. ### Added The initial release contains 25 controls and a handful of extensions plus utilities to help making UI Toolkit UX far easier. +#### Editor integration + +- **Editor menu integration** - a new `GameObject/UI Toolkit/Extensions` menu adds any of the 22 UXML-placeable controls to the scene in basic form with demo content, automatically creating a `UIDocument` and `PanelSettings` (with the default runtime theme) if the scene has none. The UI Toolkit counterpart of the uGUI Extensions `GameObject/UI/Extensions` menu. +- **Starter templates** - per-control starter UXML templates with demo content, also available from `Assets/Create/UI Toolkit/Extensions` for dropping into existing documents. Instantiated copies are placed under `Assets/UI Toolkit Extensions` so they remain freely editable. +- **Self-applying control styles** - while authoring (UI Builder) and in Play Mode, controls attach the shared extensions stylesheet automatically on construction, so they render correctly without manually referencing the stylesheet. Overlay controls (`DropDownControl`, `DropDownMenuControl`, `ImageCropOverlayControl`) also style their root-attached panels directly. In player builds, styling comes from the explicit stylesheet references in the starter templates and from the theme generated by the editor menu (which imports the shared stylesheet panel-wide). + #### Controls ##### Navigation & Layout -- **ScrollSnap** — Page-based snap scroller with manual/swipe modes, validation gating, and restricted-movement events. -- **QuadrantStepper** — Segmented sliding-overlay step selector for tab bars, mode switchers, and category filters. -- **CollapsibleSection** — Accordion panel with animated max-height expand/collapse, ideal for FAQs and settings groups. -- **PageDotIndicator** — Row of pagination dots; all dots up to and including the current page are highlighted. -- **StepProgressBar** — Horizontal gradient fill bar driven by step counts. -- **ScreenHeader** — Configurable top app-bar with title, notch spacer, and up to four edge action buttons (events only, no app state). -- **ElasticListView** — Vertical list with iOS-style elastic overscroll and an optional swipe-up "load more" trigger. -- **DropDownMenuControl** — Anchored overlay action menu with large tappable rows and backdrop-tap dismiss (distinct from the value-picker `DropDownControl`). +- **ScrollSnap** - Page-based snap scroller with manual/swipe modes, validation gating, and restricted-movement events. +- **QuadrantStepper** - Segmented sliding-overlay step selector for tab bars, mode switchers, and category filters. +- **CollapsibleSection** - Accordion panel with animated max-height expand/collapse, ideal for FAQs and settings groups. +- **PageDotIndicator** - Row of pagination dots; all dots up to and including the current page are highlighted. +- **StepProgressBar** - Horizontal gradient fill bar driven by step counts. +- **ScreenHeader** - Configurable top app-bar with title, notch spacer, and up to four edge action buttons (events only, no app state). +- **ElasticListView** - Vertical list with iOS-style elastic overscroll and an optional swipe-up "load more" trigger. Items can be declared as child elements in UXML or added with plain `Add()`, as well as from code with `AddItem()`/`SetItems()`. +- **DropDownMenuControl** - Anchored overlay action menu with large tappable rows and backdrop-tap dismiss (distinct from the value-picker `DropDownControl`). ##### Inputs & Forms -- **PillInputField** — Mobile-aware labeled text input with password mode, multiline support, and validation events. -- **RoundedInputField** — Rounded input field with custom placeholder rendering. -- **PillSelector** — Read-only tap-to-open selector row with chevron icon. -- **PillButton** — Pill-shaped gradient CTA button with flash feedback animation. -- **IconLabelButton** — Row button with a 24 × 24 icon and label, ideal for menu items and list actions. -- **DropDownControl** — Custom dropdown selector with a scrollable list of selectable entries. -- **SocialLinkContainer** — Editable list of platform-labelled social-link fields with add/remove and a platform picker. +- **PillInputField** - Mobile-aware labeled text input with password mode, multiline support, and validation events. +- **RoundedInputField** - Rounded input field with custom placeholder rendering. +- **PillSelector** - Read-only tap-to-open selector row with chevron icon. +- **PillButton** - Pill-shaped gradient CTA button with flash feedback animation. +- **IconLabelButton** - Row button with a 24 × 24 icon and label, ideal for menu items and list actions. +- **DropDownControl** - Custom dropdown selector with a scrollable list of selectable entries. +- **SocialLinkContainer** - Editable list of platform-labelled social-link fields with add/remove and a platform picker. ##### Media & Images -- **CircularImageButton** — Circular tappable image with no-image overlay, ideal for avatars and profile photos. -- **GrayscaleImage** — Immediate-mode image renderer with a toggleable greyscale shader effect. -- **LoadingIcon** — Rotating spinner with configurable speed and optional interaction blocking. -- **ImageCropOverlayControl** — Interactive overlay for framing and cropping an image. +- **CircularImageButton** - Circular tappable image with no-image overlay, ideal for avatars and profile photos. +- **GrayscaleImage** - Immediate-mode image renderer with a toggleable greyscale shader effect. +- **LoadingIcon** - Rotating spinner with configurable speed and optional interaction blocking. +- **ImageCropOverlayControl** - Interactive overlay for framing and cropping an image. ##### Toggles & Selection -- **ToggleButton** — Binary image toggle that fires an event on every press. -- **ColorToggleButton** — Tint-colored toggle with ripple animation and selected overlay (extends `ToggleButton`). -- **ColorToggleGroup** — Single-selection group of `ColorToggleButton` items with tap and drag-to-select support. +- **ToggleButton** - Binary image toggle that fires an event on every press. +- **ColorToggleButton** - Tint-colored toggle with ripple animation and selected overlay (extends `ToggleButton`). +- **ColorToggleGroup** - Single-selection group of `ColorToggleButton` items with tap and drag-to-select support. ##### Feedback & Utility -- **ToastSwipeDismissManipulator** — Pointer manipulator that adds swipe-to-dismiss gesture handling to any element. -- **ComingSoonMessage** — Centered placeholder panel for in-progress features. -- **NotificationBadge** — Small rounded unread-count badge that auto-hides at zero and clamps to "99+". +- **ToastSwipeDismissManipulator** - Pointer manipulator that adds swipe-to-dismiss gesture handling to any element. +- **ComingSoonMessage** - Centered placeholder panel for in-progress features. +- **NotificationBadge** - Small rounded unread-count badge that auto-hides at zero and clamps to "99+". #### Utilities -- **UIToolkitExtensions** — Static helper for creating, parenting, and wiring VisualElements from code. -- **VisualElementShakeUtility** — Horizontal shake animation for validation and attention feedback. -- **ProceduralTextureUtility** — Generates procedural textures (e.g. rounded rects and gradients) for control styling. +- **UIToolkitExtensions** - Static helper for creating, parenting, and wiring VisualElements from code. +- **VisualElementShakeUtility** - Horizontal shake animation for validation and attention feedback. +- **ProceduralTextureUtility** - Generates procedural textures (e.g. rounded rects and gradients) for control styling. #### Examples Included as the **UI Toolkit Extensions Samples** package sample: -- **ScrollSnap + PageDotIndicator** — Horizontal paging with dot indicator and a ComingSoonMessage page. -- **Registration Form** — Full form using PillInputField, RoundedInputField, PillButton, PillSelector, and shake validation. -- **Step Wizard** — Multi-step flow using QuadrantStepper and StepProgressBar. -- **Content Explorer** — LoadingIcon reveal with CollapsibleSection and IconLabelButton items. -- **Profile Editor** — CircularImageButton, GrayscaleImage, ToggleButton, and ColorToggleGroup. -- **Toast Notifications** — Swipe-to-dismiss toast stack using ToastSwipeDismissManipulator. -- **Dropdown Phone Entry** — Phone-number entry pairing a country-code DropDownControl with PillInputFields. -- **Image Crop Overlay** — Pan / pinch-zoom crop flow using ImageCropOverlayControl and CircularImageButton. -- **Notification List** — Elastic notification feed using ElasticListView, NotificationBadge, and PillButton. -- **Screen Header** — Top app-bar demo wiring ScreenHeader's title and action events. -- **Scroll Snap (Split Views)** — The same ScrollSnap built three ways — C#, UXML, and a split layout. -- **Social Links** — Editable social-links section using SocialLinkContainer and PillButton. +- **ScrollSnap + PageDotIndicator** - Horizontal paging with dot indicator and a ComingSoonMessage page. +- **Registration Form** - Full form using PillInputField, RoundedInputField, PillButton, PillSelector, and shake validation. +- **Step Wizard** - Multi-step flow using QuadrantStepper and StepProgressBar. +- **Content Explorer** - LoadingIcon reveal with CollapsibleSection and IconLabelButton items. +- **Profile Editor** - CircularImageButton, GrayscaleImage, ToggleButton, and ColorToggleGroup. +- **Toast Notifications** - Swipe-to-dismiss toast stack using ToastSwipeDismissManipulator. +- **Dropdown Phone Entry** - Phone-number entry pairing a country-code DropDownControl with PillInputFields. +- **Image Crop Overlay** - Pan / pinch-zoom crop flow using ImageCropOverlayControl and CircularImageButton. +- **Notification List** - Elastic notification feed using ElasticListView, NotificationBadge, and PillButton. +- **Screen Header** - Top app-bar demo wiring ScreenHeader's title and action events. +- **Scroll Snap (Split Views)** - The same ScrollSnap built three ways - C#, UXML, and a split layout. +- **Social Links** - Editable social-links section using SocialLinkContainer and PillButton. + +### Changed + +Relative to the `1.0-preview.1` pre-release: + +- Package dependency corrected from the deprecated `com.unity.ui` preview package to the built-in `com.unity.modules.uielements` module. +- Removed leftover uGUI assembly references from the Runtime and Editor assembly definitions, and the placeholder `DumbScript` from the Editor assembly. ### Contributors