Skip to content
This repository has been archived by the owner on Mar 20, 2023. It is now read-only.

JohannesDeml/unity-ui-extensions

Repository files navigation

This repository is being migrated to GitHub

The new home for this repository is:

BitBucket is just not what it used to be (workable)

Unity UI Extensions README

This is an extension project for the new Unity UI system which can be found at: Unity UI Source

Check out the control demos on our Tumblr page

For more info, here's a little introduction video for the project:

View Intro Video

You can follow the UI Extensions team for updates and news on:

Chat live with the Unity UI Extensions community on Gitter here:


In this repository is a collection of extension scripts / effects and controls to enhance your Unity UI experience. These scripts have been gathered from many sources, combined and improved over time.

The majority of the scripts came from the Scripts thread on the Unity UI forum here

You can either download / fork this project to access the scripts, or you can also download these pre-compiled Unity Assets, chock full of goodness for each release:

We have expanded where you can download the UnityPackage asset and widened the options to contribute to the project.

I will still stress however, contribution is optional. The assets / code will always remain FREE

Download from Itch.IO Download from Itch.IO Download from Itch.IO
Grab from Itchio Obtain via Union Assets Support through Patreon

Still available to download on the BitBucket site if you prefer

To view previous releases, visit the release archive


If you wish to further support the Unity UI Extensions project itself, then you can either subsidize your downloads above, or using the links below.

All funds go to support the project, no matter the amount. Donations in code are also extremely welcome

Donate via PayPal Buy us a Coffee

(PayPal account not required and you can remain anonymous if you wish)


To get started with the project, here's a little guide:

View Getting Started Video


Maintenance release 2019.6 - 2.5 - Bug squash

Its been a while since the last update and although Unity keeps changing, thankfully the parts underneath do not. THanks to some awesome work by our contributors and the test teams, we made a run on some underlying bugs and issues. If you spot anything else, please log it on the BitBucket site for resolution.

Be sure to also check out the "Examples" option in the Package Manager window to import the samples to your project.

Be sure to logon to the new Gitter Chat site for the UI Extensions project, if you have any questions, queries or suggestions

Much easier that posting a question / issue on YouTube, Twitter or Facebook :D

New / updated features

  • Updated UI Line connector to use relative position instead of anchored position to verify if the Lines need updating.
  • Allow menu prefabs to not have to have canvas components. This allows you to use any type of prefab as a "menu". Adam Kapos mentions the concept on the Unite talk, https://youtu.be/wbmjturGbAQ?t=1654
  • Updated segment line drawing for Line Lists. Seems Unity no longer needs UV's to be wrapped manually.
  • Updated the AutoCompleteComboBox to display text as entered (instead of all lowercase)
  • Updated the ComboBox to display text as entered (instead of all lowercase)
  • Updated ComboBox Examples to include programmatic versions
  • Further ComboBox improvements including:
    • Upwards panel
    • Start fixes
    • Item Template resize
    • Disabled sorting on combobox as it wasn't working
    • Disabled Slider handle when not in use
    • Updated Example
  • Updated the new Input system switch and tested against 2021

Examples / Examples / Examples

Examples can be found either in the UPM package manager window or via the extra downloadable UnityAsset from the Bitbucket site - https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Downloads

Fixes

  • Reordering issue resolved with ScrollRectOcclusion.
  • Fixed Sorting at min and max positions for ScrollRect
  • Updated ScrollToSelect script provided by zero3growlithe, tested and vastly reduces the previous jitter. Still present but barely noticeable now.
  • Fixed Issue # 363 Update Combobox control that takes multiple items programmatically, to only allow distinct items
  • Fixed the issues where dragging outside the range slider handle causes the range to update. - Resolves #369
  • Resolves an issue with Unity putting the previous controls vertex array in an uninitialised control.
  • Applied J.R. Mitchell's fix for the Accordion Controls/Accordion/AccordionElement.cs - resolves: #364
  • Resolved issue where the Content Scroll snap issue with only 1 child. Resolves #362
  • Updated the PaginationManager to override if the ScrollSnap is in motion.

Known issues

No new issues in this release, but check the issues list for things we are currently working on:

Upgrade Notes

We recommend using the UPM delivery method. If you are using the Unity asset, there should be no issues updating but if you have a problem, just deleted the old Unity-UI-Extensions folder and import the asset new.


Release History

For the full release history, follow the below link to the full release notes page.


There are almost 70+ extension controls / effect and other utilities in the project which are listed on the following page:

UI Line Renderer UI Knob ScrollSnap
UI Line Renderer UI Knob Scroll Snap
Controls
Accordion ColorPicker Selection Box UI Flippable ComboBox
AutoComplete ComboBox DropDown List BoundToolTip UIWindowBase UI Knob
TextPic Input Focus Box Slider Cooldown Button Segmented Control
Stepper Range Slider Radial Slider MultiTouch Scroll Rect
Primitives
UILineRenderer UILineTextureRenderer UICircle DiamondGraph UICornerCut
UIPolygon
Layouts
Horizontal Scroll Snap Vertical Scroll Snap Flow Layout Group Radial Layout Tile Size Fitter
Scroll Snap (alt implementation) Reorderable List UI Vertical Scroller Curved Layout Table Layout
FancyScrollView Card UI Scroll Position Controller
Effects
Best Fit Outline Curved Text Gradient Gradient2 Letter Spacing
NicerOutline RaycastMask UIFlippable UIImageCrop SoftAlphaMask
CylinderText UIParticleSystem CurlyUI Shine Effect Shader Effects
Additional Components
ReturnKeyTrigger TabNavigation uGUITools ScrollRectTweener ScrollRectLinker
ScrollRectEx UI_InfiniteScroll UI_ScrollRectOcclusion UIScrollToSelection UISelectableExtension
switchToRectTransform ScrollConflictManager CLFZ2 (Encryption) DragCorrector PPIViewer
UI_TweenScale UI_MagneticInfiniteScroll UI_ScrollRectOcclusion NonDrawingGraphic
UILineConnector UIHighlightable Menu Manager Pagination Manager

More to come


As of Unity 2019, there are now two paths for getting access to the Unity UI Extensions project:

  • Unity 2019 or higher The recommended way to add the Unity UI Extensions project to your solution is to use the Unity package Manager. Simply use the Unity Package Manager to reference the project and install it.

Alternatively, you can also use the pre-compiled Unity packages if you wish, however, UPM offers full versioning support to allow you to switch versions as you wish.

  • Unity 2018 or lower The pre-compiled Unity assets are the only solution for Unity 2018 or earlier due to the changes in the Unity UI framework in Unity made for 2019. Either clone / download this repository to your machine and then copy the scripts in, or use the pre-packaged .UnityPackage for your version of Unity and import it as a custom package in to your project.

Got a script you want added? Then just fork the bitbucket repository and submit a PR. All contributions accepted (including fixes)

Just ensure:

  • The header of the script should match the standard used in all scripts.
  • The script uses the Unity.UI.Extensions namespace so they do not affect any other developments.
  • (optional) Add Component and Editor options where possible. (editor options are in the Editor\UIExtensionsMenuOptions.cs file)

All scripts conform to the BSD3 license and are free to use / distribute. See the LICENSE file for more information =

All these scripts were put together for my latest book Unity3D UI Essentials Check out the page on my blog for more details and learn all about the inner workings of the new Unity UI System.

As this repo was created to support my new Unity UI Title "Unity 3D UI Essentials", in the downloads section you will find two custom assets (SpaceShip-DemoScene-Start.unitypackage and RollABallSample-Start.unitypackage). These are just here as starter scenes for doing UI tasks in the book.

I will add more sample scenes for the UI examples in this repository and detail them above over time.

Please see the full downloads list for all previous releases and their corresponding download links.