This repository contains the source for the Unity UI Extensions documentation website, built with Jekyll and published via GitHub Pages at https://unity-ui-extensions.github.io.
Looking for the controls themselves? They live in the package repositories:
- uGUI: com.unity.uiextensions
- UI Toolkit: com.unity.uitoolkitextensions
Unity UI Extensions is the flagship open-source UI control collection for Unity — 126 battle-tested controls across two packages, free forever and community-driven since 2015. Version 3.0 is a two-package ecosystem: the proven uGUI library, now joined by a modern UI Toolkit companion.
| Package | ID | Version | Licence | Controls | Examples |
|---|---|---|---|---|---|
| Unity UI Extensions (uGUI) | com.unity.uiextensions |
3.0.0 | BSD-3-Clause | 101 | 22 |
| UI Toolkit Extensions | com.unity.uitoolkitextensions |
1.0.0 | MIT | 25 | 12 |
Both packages target Unity 6000.0+. (Older Unity versions can continue to use the established uGUI 2.x line.)
Browse everything on the live site:
Recommended — OpenUPM:
openupm add com.unity.uiextensions
openupm add com.unity.uitoolkitextensionsOr via Git URL (Unity Package Manager → Add package from git URL):
https://github.com/Unity-UI-Extensions/com.unity.uiextensions.git
https://github.com/Unity-UI-Extensions/com.unity.uitoolkitextensions.git
Full install guides: uGUI · UI Toolkit
This website is a Jekyll static site, published through GitHub Pages using the github-pages gem. When changes are pushed to the published branch, GitHub builds and deploys the site automatically — there is no manual build or upload step.
To preview your changes locally before pushing:
-
Install the pinned gems (first time only, or after editing the
Gemfile):bundle install
-
Serve the site locally with auto-rebuild and live reload:
bundle exec jekyll serve --livereload -
Open http://localhost:4000 in your browser (the site is served from the root, as
baseurlis empty).
To reproduce the exact static output that GitHub Pages publishes (generated into the _site/ folder), run:
bundle exec jekyll buildNote
Changes to _config.yml require restarting jekyll serve — live reload does not pick up configuration changes. The build also ignores README.md, the helper scripts (*.py, *.sh) and a few other files; see the exclude list in _config.yml for the full set.
Contributions are always welcome — and not all contributions are cash. Open a pull request with a new control or a fix, file a clear bug report, improve the docs, or help other developers in the community.
- Report issues / request features: uGUI issues · UI Toolkit issues
- Chat & questions: Gitter · GitHub Discussions
- Follow: Twitter/X · Facebook · YouTube
When adding a uGUI control, use the UnityEngine.UI.Extensions namespace, match the existing script header, and add editor/menu options where it makes sense.
Contribution is optional — the assets and code will always remain FREE.
If UI Extensions has saved you time, you can help keep it maintained. Every contribution goes straight into keeping the project alive and well — there is no paid tier and nothing behind a paywall.
- GitHub Sponsors · Patreon · Ko-fi · PayPal.me
- Grab the package on itch.io or the Unity Asset Store (uGUI)
Full details on the Support page.
The uGUI package is licensed under BSD-3-Clause; the UI Toolkit package under MIT. Both are free to use and distribute. Unity UI Extensions is community-maintained and not affiliated with Unity Technologies.