Hierarchy Decorator
Fully Customisable.
Toggle Everything.
About • Installation • Features • Support • License and credits
This is an independently maintained VRCLearn fork of WooshiiDev/HierarchyDecorator, originally created by Damian Slocombe (Wooshii).
Hierarchy Decorator is an extension for Unity 2018.4 and higher that extends Unity’s hierarchy and takes it to the next level. With headers, component information and other features, it transforms the window into more than a plain list of objects. This can turn scene structures easier to read, understand and provide information on what is going on.
Everything is optional, and can be modified to the requirements of the project.
Open the VRCLearn installation page and click Add to VCC/ALCOMD, or add this repository URL manually:
https://vrclearn.github.io/HierarchyDecorator/index.json
In your project’s package manager, install HierarchyDecorator
(com.vrclearn.hierarchydecorator). Refresh the repository and select Update
when a newer version is available. This editor tool has no VRChat SDK dependency
and works in both avatar and world projects. The maintained package has independent
assemblies, C# namespaces, asset GUIDs, menus and settings. VCC/ALCOMD replaces
com.wooshii.hierarchydecorator during VPM installation through legacyPackages,
before Unity opens. Configuration transfer remains an optional action in Unity.
Existing repository subscriptions keep the same URL and ID.
With other installation methods, existing wooshii installations remain usable
alongside this package. The first-run
preset chooser lets you apply a fresh Detailed or Minimal preset and keep wooshii
installed, or migrate wooshii’s current configuration into
UserSettings/Settings.asset. Reopen the chooser from
Tools > HierarchyDecorator > Choose Preset.
Migration first imports the current configuration when available, then cleans up any recognized old installation. Either step can run when the other has nothing to process:
| wooshii installation | Cleanup |
|---|---|
UnityPackage or files under Assets | Remove recognized upstream files and empty plugin directories. Other user files and other settings assets are retained. |
| UPM Git, registry, or local-path dependency | Remove the dependency through Unity Package Manager. External source directories are retained. |
Embedded package under Packages | Remove the identified embedded package directory inside this project. |
Assets cleanup recognizes the default Assets/HierarchyDecorator directory and
its nested HierarchyDecorator distribution layout. It also locates renamed
installations using known folder and file GUIDs. Within an identified installation,
distributed relative file paths allow cleanup when file GUIDs have been
regenerated; extra user files and other settings assets are kept.
If importing or saving fails, cleanup does not start. If cleanup fails after
saving, the window reports that the settings were imported but removal did not
finish. Successfully imported source settings under Assets are removed; external
sources and settings in other packages are retained. Settings inside a removed
embedded package are removed with that package.
The recorded configuration can also be imported after the old Settings script has been removed. Text and binary assets are read through a temporary copy outside the project, preserving their values and asset references. Reading does not change the source asset or its metadata; the temporary copy is deleted afterward.
The Releases page provides
VPM ZIP, UnityPackage, manifest and checksum files. UnityPackage installs to
Assets/VRCLearn/HierarchyDecorator; VPM can migrate that specific distribution
folder automatically. Install only one VRCLearn distribution format per project; the upstream plugin may remain installed independently.
HierarchyDecorator can also be installed directly through the git url
https://github.com/VRCLearn/HierarchyDecorator.git
You can also install this via git by adding the following to your manifest.json
"com.vrclearn.hierarchydecorator" : "https://github.com/VRCLearn/HierarchyDecorator.git"
Use the preset chooser to migrate wooshii settings. Keep both distinct package IDs to use both plugins. Install only one distribution of the VRCLearn package per project.
| Feature | Hierarchy Decorator | Other Hierachy Extensions |
|---|---|---|
| Hierarchy Headers/Styles | ✔️ | ✔️ |
| Tag/Layer Selector | ✔️ | ✔️ |
| Breadcrumbs | ✔️ | ✔️ |
| Component Icons | ✔️ | ❌ |
| Feature | Hierarchy Decorator | Other Hierachy Extensions |
|---|---|---|
| GameObject Icons | Planned | ✔️ |
| Folders | Planned | ✔️ |
| Script Error/Warning Popup | Planned | ❌ |
| Editor Flags Selector | Planned | ❌ |
| Team/Individual Settings Mode | Planned | ❌ |
Settings are saved locally for each project in UserSettings/Settings.asset and can be edited from Preferences > HierarchyDecorator. You can also open this page from Tools > HierarchyDecorator > Settings. New installations do not create a settings asset under Assets.
New configurations open the HierarchyDecorator preset window with image previews for Detailed and Minimal and optional migration of wooshii’s current configuration. Choose either image or its button to apply the preset and keep wooshii installed, or migrate its settings using the installation-specific behavior described above. You can reopen the chooser from Tools > HierarchyDecorator > Choose Preset. Applying a preset replaces hierarchy display options, styles, component icon settings, and custom component groups. The language preference remains unchanged. Existing independent VRCLearn configurations skip the first-run prompt. Closing without choosing postpones it until the next editor startup or script reload. Batch mode does not open the chooser.
Migration uses only the current settings GUID recorded by wooshii in its editor
preference (Application.productName + "_HD_GUID"). It does not search for other
settings assets, fall back to a default path, or combine configurations. A missing
record, stale GUID or reference to another asset type skips configuration transfer
without preventing installation cleanup. The migration reads the reference again
when clicked rather than using a cached source. A configuration can be transferred
without a recognized old installation, and an installation can be cleaned up
without a current configuration.
Only clicking the migration action copies the current wooshii configuration over
the new settings. Styles, component groups, fonts and script references are
preserved. Reading or saving a found configuration must succeed before cleanup
starts. Deletion checks apply only to cleanup; a cleanup failure does not undo
saved settings. Other user files and settings assets remain untouched. The new
settings object is named Settings, and the independent local file is the only
settings file used during normal operation. The original Settings type must be
available to load a source configuration.
The settings inspector and Preferences page include a language selector for Auto, English, Japanese, Korean, Traditional Chinese, and Simplified Chinese. You can also switch from Tools > HierarchyDecorator > Language, where the current selection is checked. Auto is the default for new preferences and follows the operating system language, falling back to English for unsupported languages. Existing explicit language selections are preserved. Both selectors use the same language preference, saved locally in the editor without changing the project’s settings asset.
Setting design may change over time with development to support more features, or keep things looking consistent & clean.
Toggles will simply display the state of the instance, can be clicked to toggle the instance active state.
Show Active Toggles Enable the toggles.
Active Toggle Type Choose between a checkbox or dot for the toggle icon.
Active Swiping Click and drag over check boxes to toggle them.
Swipe Same State Only toggle the instances with the same state as the first selected.
Swipe Selection Only If a selection exists, only toggle the selected instances.
Depth Mode The accepted criteria for selecting instances when swiping.
Display the current layer the instance is assigned to.
Show Layers Enable the toggles.
Click To Select Layer Clicking the layer label will display a layer dropdown to update it.
Apply Child Layers Change the child gameobjects when updating the layer above.
Breadcrumbs will show line trails in the hierarchy, between objects to help visualise the tree.
Instance settings are related to breadcrumbs drwan for the instance and it’s siblings.
Hierarchy settings will modify how breadcrumbs are displayed for higher depths.
Show Show the breadcrumbs.
Color The colour of the drawn lines.
Style The line style - Solid, Dash, Dotted.
Display Horizontal Draw a horizontal line, from left to right, towards the instance.
The background can be enabled to alternate background colour between each hierarchy row.
Alternate Background Show the breadcrumbs.
Color One The first colour for the theme.
Color Two The second colour for the theme.
The Style tab controls the design of the headers and seperators for the hierarchy. Colours are individual for light and dark mode providing accessibility. The prefix is the string to specify at the start of an instance name to apply the style.
Layers and icons can be specifically disables on styles instances to remove clutter and information that is not required.
Icons can be displayed that represent components that exist on gameobjects. This tab will provide the flexibility to specify what components can and cannot be displayed, and also allow you to automatically show all.

Show All
Below show all are two labels - Unity & Custom. Both of these can be enabled to automatically show the respective components automatically on all instances. Unity components refer to built in types, while custom are custom MonoBehaviour’s outside of Unity’s code base.
Groups
Unity components have been categorized into related groups to make it easier to filter through all of them that exist. The search can be used to extend this further.
Any component toggled on in Excluded will disable them completely even if show all Unity components is enabled. This is primarily to make it easier to remove types not required when Show All is on.
Custom
Custom components are for scripts created in the project, that are not a part of Unity’s engine. Here scripts can be grouped together and enabled if Show All for custom components is not on.
Scripts can also be dragged in from the project view and will be added to the group highlighted for easy organisation.
Please submit questions, bugs, and feature requests to VRCLearn/HierarchyDecorator issues.
For bug fixes, features, documentation, and translations, see the contribution guidelines.
This fork is maintained by VRCLearn under the MIT license. The original project was created by Damian Slocombe (Wooshii), with contributions from the original contributors.
Copyright (c) 2020-2025 Damian Slocombe
com.vrclearn.hierarchydecorator
https://github.com/VRCLearn/HierarchyDecorator#readme
1.0.0 (Changelog)
2018.4 or later
No dependencies
No dependencies