https://github.com/WooshiiDev/HierarchyDecorator
  
  
    Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more. 
    https://github.com/WooshiiDev/HierarchyDecorator
  
editor hierarchy unity unity3d
        Last synced: 6 months ago 
        JSON representation
    
Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more.
- Host: GitHub
 - URL: https://github.com/WooshiiDev/HierarchyDecorator
 - Owner: WooshiiDev
 - License: mit
 - Created: 2020-09-06T19:31:48.000Z (about 5 years ago)
 - Default Branch: master
 - Last Pushed: 2025-03-20T01:17:50.000Z (8 months ago)
 - Last Synced: 2025-04-13T16:53:19.933Z (7 months ago)
 - Topics: editor, hierarchy, unity, unity3d
 - Language: C#
 - Homepage:
 - Size: 2.58 MB
 - Stars: 1,154
 - Watchers: 16
 - Forks: 57
 - Open Issues: 19
 - 
            Metadata Files:
            
- Readme: README.md
 - Changelog: CHANGELOG.md
 - Funding: .github/FUNDING.yml
 - License: LICENSE.md
 
 
Awesome Lists containing this project
- awesome-unity3d - HierarchyDecorator - Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more. (Open Source Repositories / Editor)
 - awesome-unity3d - HierarchyDecorator - Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more. (Open Source Repositories / Editor)
 - awesome-unity3d - HierarchyDecorator - Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more. (Open Source Repositories / Editor)
 - awesome-unity-open-source-on-github - HierarchyDecorator - commit/WooshiiDev/HierarchyDecorator?logoSize=auto) - Provides custom drawing within the Hierarchy window, and add extra information functionality (Hierarchy)
 
README
            
 
 
 Hierarchy Decorator
 Unity Editor plugin giving the Hierarchy a lick of paint.
 
 Fully Customisable.
 Toggle Everything.
  
  About •
  Installation •
  Features •
  Support •
  Donate
## About
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.
## Installation
  Releases • Unity Package • Zip 
  
HierarchyDecorator can also be installed directly through the git url
```
https://github.com/WooshiiDev/HierarchyDecorator.git
```
You can also install it via [upm](https://openupm.com/)
```
openupm add com.wooshii.hierarchydecorator
```
You can also install this via git by adding the following to your **manifest.json**
```
"com.wooshii.hierarchydecorator" : "https://github.com/WooshiiDev/HierarchyDecorator.git"
```
## Features
Currently, this is what Hierarchy Decorator does have
|                            | Hierarchy Decorator  | Other Hierachy Extensions |
| -------------------------- | :----------------: | :-------------:   |
| Light/Dark Mode Support    |         ✔️         |        ✔️        |
| Headers/Seperators         |         ✔️         |        ✔️        |
| Toggleable Settings        |         ✔️         |        ❌        |
| Custom Header Styles       |         ✔️         |        ❌        |
| GameObject Layer Selector  |         ✔️         |        ❌        |
| Unity Icon Selection       |         ✔️         |        ❌        |
| Custom Icon Selection      |         ✔️         |        ❌        |
These are currently future additions planned
|                            | Hierarchy Decorator | Other Hierachy Extensions |
| -------------------------- | :----------------:  | :-------------:   |
| Hierarchy Breadcrumbs      |         Planned     |        ✔️        |
| Hierarchy Folders          |         Planned     |        ✔️        |
| Custom Instance Icons      |         Planned     |        ✔️        |
| External Package Support   |         Planned     |        ✔️        |
| Script Error/Warning Popup |         Planned     |        ❌        |
| Locked Instances           |         Planned     |        ❌        |
| Selectable Editor Flags    |         Planned     |        ❌        |
| Hierarchy Comment Popups   |         Planned     |        ❌        |
| Team/Individual Settings Mode   |         Planned     |        ❌        |
  
## Settings
  
 
There is a scriptable object that is required for hierarchy decorator to run. If it is deleted, another will be created in `Assets/HierarchyDecorator/`. These settings are also accessible from `Preferences`.
Setting design may change over time with development to support more features, or keep things looking consistent & clean.
### General
  
 Toggles
  
 
   
   
 
  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 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.
  ```
 Layers
  
  
 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
   
  
  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.
  ```
 
### Visual
 Background
 
 
  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.
  ```
 Styles
   
  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
 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. 
 
 Settings
 
 - Enable Icons: Will toggle the icons on.
 - Stack Mono Behaviours - If there are any MonoBehaviour derived components, show only one script icon on the instance.
 - Show Missing Script Warning - Show an indicator if there's an invalid script or "missing" script that cannot find the source file.
 Icon Panel
 
**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.
 
## Contributing
When contributing to this repository, please first discuss the change you wish to make via issue or any other method with the owners of this repository before making a change.
### Pull Request Process
1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
2. Update the README.md with details of any new features if required.
3. Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
## Support
Please submit any queries, bugs or issues, to the [Issues](https://github.com/WooshiiDev/HierarchyDecorator/issues) page on this repository. All feedback is appreciated as it not just helps myself find problems I didn't otherwise see, but also helps improves Hierarchy Decorator as a whole.
A GitHub Project [Board](https://github.com/users/WooshiiDev/projects/1) for this also exists showing current development goals and future features.
Reach out to me or see my other work through:
 - Website: https://wooshii.dev/
 - Email: wooshiidev@gmail.com;
## Donate
HierarchyDecorator will be and always has been developed in my free time, and there are many more features I'd like to include. If you would to support me, you can do so below:
[](https://paypal.me/Wooshii?locale.x=en_GB)

Development will be continued with this and will forever stay public and free.
Copyright (c) 2020-2024 Damian Slocombe