Controls and extensions for Unity UI (uGUI).
The package is supported from Unity 6.0.81 (6000.0.81f1) and has dependencies managed automatically with OpenUPM. More information is in Dependencies section.
Add components from Add Component → Mane Tools → UI.
ColorSchemeassets andColorSchemeControllerto apply and switch color themes on simple UI graphics.ThreeStatesToggle- on / off / undefined, with optional extra graphics.MaxTMProSize- clamp a TextMesh Pro label's preferred size.ScrollRectsnap and animated scroll helpers (SnapTo,SnapXTo,SnapYTo,ScrollTo,ScrollXTo,ScrollYTo).RectTransformChangedCatcherandManeUIBehaviourfor layout change callbacks and easy access torectTransform, the same way astransform.UICanvasToolshelpers that ease working with UI layouts.- Script creation menus for standard
UIBehaviourand customManeUIBehaviour. - NUnit coverage for most of the package.
- ManeTools-Unity and ManeTools-dotNET are required, and
OpenUPMinstalls both. - Unity UI asset, including
TextMesh Pro, is required too.
I recommend installing this package with the OpenUPM CLI. It keeps dependencies and updates easy to manage. If you cannot use OpenUPM, download the package and place it anywhere in your Unity project.
Setting up OpenUPM for the first time takes a few minutes, but it is worth it. OpenUPM is the usual registry for open-source Unity packages and works with Unity’s Package Manager (dependency resolution and updates included).
On Windows, I recommend Git Bash (MINGW) for CLI work: it is a Unix-like shell, and it is often already installed.
- Install
OpenUPM(skip this if you already have it):- If you do not have
npm, install Node.js (or on macOS:brew install node). - In a terminal, run:
npm install -g openupm-cli. - You can then install packages from the
OpenUPMregistry with no extra Unity setup.
- If you do not have
- Install this package:
- Open a terminal in your Unity project folder:
cd /path/to/your/project. - Run:
openupm add com.manefunction.tools-unity-ui. - Switch back to Unity and wait for the package to finish importing.
- Open a terminal in your Unity project folder:
Despite the fact that the code itself is not new, splitting one package into a few - plus a pile of refactoring and migration to the UI Toolkit - is a great way to invent fresh bugs.
Overall it should still be safe for commercial work (the original ManeTools already ships in a few dozen live projects), but let's give this split a little time to surface whatever I missed. Use at your own risk, I suppose.
This repo follows the Conventional Commits specification.
