• Stars
    star
    618
  • Rank 70,151 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created over 3 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lightweight Unity Plugin transforming the Hierarchy into what it should be. Adds headers, styles, icons and more.

HierarchyDecoratorNew

Hierarchy Decorator

Unity Editor plugin giving the Hierarchy a lick of paint.

Fully Customisable.
Toggle Everything.

Unity Download Link License MIT

AboutInstallationFeaturesSupportDonate

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.

Unity_k2yhUSLugm Unity_myS52drEnl

Installation

ReleasesUnity PackageZip

HierarchyDecorator can also be installed directly through the git url

https://github.com/WooshiiDev/HierarchyDecorator.git

You can also install it via upm

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

chrome_hzlst44Z1X

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

chrome_aClIcjH3wq chrome_aClIcjH3wq

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

chrome_szO7gPHVZ4

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

chrome_DtNbO5Mimi

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

chrome_Y3lak6Q0Dm

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.

Style Settings

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.

Unity_emGzaT8YHMUnity_iWzNrNwYKa

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.

Unity_emGzaT8YHM Unity_emGzaT8YHM

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 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 for this also exists showing current development goals and future features.

Reach out to me or see my other work through:

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:

PayPal

Development will be continued with this and will forever stay public and free.

Copyright (c) 2020-2023 Damian Slocombe