English | Русский
A grab-bag of small Unity utilities — import only what you need.
A collection of small, standalone helpers. There is no runtime assembly to depend on: each utility is an independent sample you import à la carte from the Package Manager, so you pull in only the snippets you actually use. Each utility ships with its own short README.
Details
- .unitypackage — Releases
- UPM —
Window → Package Manager→+→Add package from git URL:https://github.com/SST-Systems/Utility.gitAppend#tagto pin a version. - Manual — clone or download, copy to
Assets/.
Unity 2021.3+
Then open Window → Package Manager → select Utility → Samples tab and Import the utilities you want.
Each utility is a self-contained sample — import them independently.
| Category | Utility | What it does |
|---|---|---|
| Attributes | ConditionalField | [ShowIf] / [HideIf] — show or hide a field in the inspector based on a bool field. |
| Attributes | ReadOnly | [ReadOnly] — draw a field as non-editable in the inspector. |
| Extensions | Cast | obj.As<T>() shorthand soft cast. |
| Extensions | List | List<T>.RandomItem() (uniform or weighted) and a serializable ListWrapper<T>. |
| Extensions | TypeCache | Cached typeof(T) and cached Type.GetType(name) lookups. |
| UI | MaxSizeLayoutElement | ILayoutElement that caps the preferred width/height. |
| UI | RenderTextureRaycaster | GraphicRaycaster that remaps pointer input for UI in a RenderTexture. |
| Editor | RegenerateProjectFiles | Toolbar button that regenerates the IDE project files. |
- Utilities are shipped as samples, so nothing is compiled until you import it — pick only what you need.
- Each utility is standalone (no cross-dependencies) and ships with its own assembly definition (
SST.Utility.*), so it stays isolated from the rest of your code. UI utilities referenceUnityEngine.UI;RegenerateProjectFilesis editor-only. - Some utilities are editor-only (
RegenerateProjectFiles) or contain editor tooling guarded by#if UNITY_EDITOR(the attributes), which is stripped from builds.
Distributed under the MIT License. Free for personal and commercial use.
Author — Egor Shesterikov.
