UGTK cat mascotUGTKengine within an engine Request access

UGTK / Toolkit / Utility Systems / Hierarchy Overwritten Completed

Utility Systems — UGTK

Hierarchy Overwritten

Summary

Hierarchy Overwritten is an editor-only module that repaints Unity's Hierarchy window to make a large scene readable at a glance: alternating row backgrounds, colour rules by name, Tag/Layer badges, component icons, separators and group headers, per-object visibility and lock toggles. Everything is modular, everything can be turned off one piece at a time, and everything is stored in a ScriptableObject you can commit so the whole team sees the same Hierarchy.

Nothing of it ships: the assembly is marked Editor-only, so there is zero cost in a build.


Content


Modules Dependencies

None. No runtime dependency; the assembly definition is Editor-only and uses UnityEditor APIs exclusively.


Setup

There is nothing to add to a scene and no prefab, so there is no GIF: the module hooks itself into the Hierarchy window as soon as it is imported.

  1. Open Tools ▸ UGTK ▸ Hierarchy Overwritten ▸ Open Settings.
  2. If HierarchyOverwrittenSettings.asset does not exist yet it is created for you.
  3. Turn the modules on and pick the colours (row background, name highlight, badges, …).

The same options are also available under Tools ▸ UGTK ▸ Hierarchy Overwritten ▸ Project Settings (UGTK)…, which is the page to use when you want the choices versioned with the project.

In a hurry? Force Enable & Demo Colors switches everything on with a sensible palette, so you can see what the module does before tuning it.


How To Use

Open any scene and look at the Hierarchy: rows are tinted, disabled objects and prefabs stand out, Tag/Layer badges and component icons appear next to the names, and objects whose name starts with a marker become separators or section headers.

The Tools ▸ UGTK ▸ Hierarchy Overwritten menu holds the actions:

Menu item What it does
Open Settings Selects (creating it if needed) the settings asset
Project Settings (UGTK)… Opens the same options inside Project Settings
Force Enable & Demo Colors Turns every module on with a demo palette
Refresh Hierarchy Forces a repaint after changing the settings
Create Separator Creates a separator object in the current scene
Create Group Header Creates a section header object
Open Debug Scene Creates and opens the demo scene if it is not there yet
Populate Debug Scene Fills the demo scene with the sample objects

Good to know:


Features

All modular, all individually switchable:


Testing Scene

This module has no component to drop in a scene: it redraws the Hierarchy window itself, so the test scene is whatever is open. Use Tools → UGTK → Hierarchy Overwritten → Open Debug Scene, which creates Debug/HierarchyOverwrittenScene.unity if it is not there and opens it.

The demo scene is a hierarchy shaped the way a real one gets shaped: three === SECTION === rows, a player with a child, a canvas with a health bar, an audio source. Everything you can see comes from the module:

The rest of the menu is the authoring side:

Two things worth knowing before committing it to a shared project. The settings are per project, not per user: the asset sits in the module folder, so committing it imposes your palette on everyone. And Enable Per Repaint Component Cache should stay on — it is what keeps the badges from costing a GetComponent sweep on every repaint of the panel.


Technical Info

Core

Path Content
Scripts/Editor/HierarchyOverwrittenBootstrap.cs Registers the EditorApplication.hierarchyWindowItemOnGUI callback and dispatches to the active modules
Scripts/Editor/HierarchyOverwrittenContext.cs Loads and caches the settings, registers the modules
Scripts/Editor/HierarchyOverwrittenSettings.cs The ScriptableObject with every option, plus the rule types NameColorRule, TagColorRule, LayerColorRule, NameBackgroundRule, NameTooltipRule
Scripts/Editor/HierarchyOverwrittenSettingsProvider.cs Project Settings page
Scripts/Editor/HierarchyOverwrittenMenu.cs Menu entries and batch operations

ModulesScripts/Editor/Modules/: HoRowBackgroundModule, HoNameHighlightModule, HoTagLayerBadgeModule, HoComponentBadgeModule, HoSeparatorModule, HoSceneHeaderModule, HoLockAndVisibilityModule.


© 2026 Marcello De Bonis. All rights reserved