This has been mentioned in other threads, but I think this topic deserves a dedicated thread. When you spend 8+ hours a day working with Unity, the visual noise becomes a really significant issue. As @cirocontinisio said in other post: I disagree. There's way too much visual noise, and I can't see that icons provide such clear indication. Just an example: Spoiler: Icons in Edit mode Can you find the prefabs at a glance just looking at the icons? You need to visually traverse the entire list for separating the blue icons from the colorful icons. It's much faster to look for the arrows at the right side. Things get even worse in Play mode, where icons are completely useless. They don't have any purpose other than providing prominent visual noise: Spoiler: Icons in Play mode I propose a better solution: add icons to the prefab roots only. Leave all other elements alone. Here's the solution applied to this case: Spoiler: EDIT: no-icons mockup, but better see the neutral-icons mockup in my next post below Now the icons provide a truly clear indication of what is what. Prefab icons are a nice complement to the arrows in the right side. And we get literally no visual noise at all. It would work the same in Prefab mode: icons only in the nested prefab roots. Please have it in consideration. Or at least, please add an option to just remove all icons - I could even rely on the blue text and the arrows in the right side only.
Hi. About the icons being distracting in their current form, we hear you. This is feedback that has come up before. Having icons only for some lines would create a lot of problems since the level of indentation then reads in an ambiguous way. Some people tend to include the icon when "reading" indentation, while others look at the indentation of the text only. You can probably see the problem that arises. The icons are also used for displaying added GameObject and Prefabs which have a plus overlay icon. Removing icons entirely and relying on text color only would make it no longer viable to also be able to show which prefabs are Regular Prefabs, Prefab Variants, and Model Prefabs, which the icons currently convey. Earlier during development we experimented with more neutral-looking, less colorful GameObject icons. I attached an image showing one experiment from back then that has white GameObject icons. That's just one example, and probably not ideal. There are many ways we could keep icons for all objects but make it much less distracting than the current colorful icons. We didn't get much chance to look deeper into this and make more experiments since we had to prioritize other things, but it's obviously still a relevant topic.
Sure, I understand. Using neutral-looking icons looks good to me. I've done a mockup with the dark skin and yes, it's much less distracting and pleasant to look at. Indeed, I think I'd get used to it pretty quickly: Thanks for looking into it!
One more feedback: Currently it's awful. ^^ The icons should at least be much smaller or less noisy. Is there any way to disable the images? BTW, thanks for the new workflow. As you might know, it solves a trillion problems. The UX is really the biggest and most meaningful problem, IMO.
I love the mockup by Edy above, it keeps the layout consistent while very clearly communicating importance of different object types.
The less colorful icons look much better. I can see this as being useful if we in the future could also have customizable icons for our own special objects.
Sorry, just seeing this. Rune has already commented on the motivation to have icons. Also, when talking icons everybody forgets about Variants. So in short: I'd keep them for all nodes in the hierarchy, but I can see that maybe they could have a less distracting colour scheme, especially for the GameObject one.
Yeah, that would be perfect. Using a faded/monochrome icon for standard GameObjects would fully resolve the issue, because my issue isn't with the presence of icons in general - it's just with the GameObjects having the the most colorful and distracting one while being the default and most numerous state. It's like marking all non-new objects in a prefab with a big icon of a plus crossed out, or like filling false bool toggles with a stop sign icon - there is no added meaning in that and it just makes the UI less readable at a glance.
Totally agree. Normal GameObjects icon must change. What @runevision proposed reminds me to an empty prefab, perhaps i would create another kind of icon. Also it would be interesting in creating a specific icon for elements inside canvas, perhaps thinking in icons for Transforms and RectTransforms that are the base component of a GO.
The exposed examples by Edy speak by themselves. The faded monochrome is for me the very much I would accept, YET I find it unnecessary for regular gameobjects as the without icons but for prefabs is WAAAAY cleaner. Removing prefab icon in runtime sounds pretry crazy to me too.
The grayed icons are a bad idea because in all software grayed out means inactive or empty and that's not what neutral means, it means non-prefab. So instead of adding another icon and another language to describe a non-thing, simply don't display an icon when showing a non prefab. This lowers the visual noise and is consistent with all habits.
Isn't that an issue that resolves itself? People will learn to read the indentation pretty quickly, which makes it a short-term annoyance. The visual clutter is forever. Has there been done any experiments with different colors for subsequent levels of nesting?
LESS is more. In agreement with others. Label coloring is more than enough, bold text if you need more alertness of the user. In the past, colour differentiation of the label was sufficient. I don't see why it's not enough now, too. Prefabs The same color they've been for a decade NestingPrefabs (the parents) The Prefabs color, but a little more saturation and luminance, and Bold. Variant Prefabs I'd go with an Orange tint, as a warning that it's got reliance/derived from something else, and similarly tint the right arrow for parenting Variants. But this could/should be a personal choice. Model Prefabs is the easiest to solve the coloring choice of: Whatever is chosen by user as wireframe color, since this denotes "model". I use Matrix greens. Plain GameObjects should be their normal color, what the've always been. -- It's worth noting that nesting (parent) prefabs also have the right arrow for affordance/discoverability, and nullifying the need for icons on the left. For states and warnings, you have the space in the far left column, down from the icon representing the scene.
I like the icons though (just not that the plain GOs are that colorful). we have them on the Project view and I don't see them as visual noise. (also, if and when Unity implements the concept of "folder object" (grouping game objects in the hierarchy but not at runtime - no transform parent) icons will be needed there to differentiate.)
It is obvious that we need configurable icons with the options of having no icons. I would have g.o without icons and prrfabs and variants eith same icon with different colour tones
I think icons are more versatile than colors, and I don't think that old approach to coloring prefab hierarchy was a particularly good one (it really reduced hierarchy readability in the dark editor skin).
The readability problem remains, with or without icons, in the dark skin, because the colouring for the fonts is poorly chosen (dim) and not user configurable.
I agree with others. The core problem is you're trying to present two types of information in the same interface. Prefabs and the components that make up a prefab. They shouldn't be given equal weight. Visually identifying "key" elements the user is currently looking for and creating a navigable landscape is very important. Your first and simplest solution is just to color the text of the prefabs differently. The downside to this is that text is already busy iconography and pattern, it's surprisingly easy to lose coloring within a busy pattern because of the way your brain processes visual information using contrast. You may have better luck simplifying down and tinting the background row differently behind prefabs vs behind components. Always look at your interface with your eyes closed to the point that it looks a bit blurry, if you cannot easily navigate in that state then you can't quickly navigate using glances. Going beyond simple background tinting consider adding filters, navigation presets and tagging - where the user visually marks certain groups and objects. Consider the analogy of MIP mapping. At different coverage or zoom levels you want different levels of detail. When dealing with representing dense information the user does not need the highest LOD from a great distance when all they want is an overview. A treeview is a fun way to add that LOD zoom (outside of allowing zoom navigation to actually open/close the tree branches) however as the sole means of dealing with "focus" it's overwhelming once you deal with a lot of data. Apple did a great thin in their latest OS by adding automatic grouping and folding of "like" elements, I'd like to see more of that in future UI's.
The actual solution is just have it editable in preferences. We can already choose icons for scripts, so we should be able to choose icons for this.
The 2018.3 beta (out now) has a bit more subtle icons, as requested by many in this thread. See: https://forum.unity.com/threads/new-icons-in-hierarchy.554368/
Rune stop being so stubborn man, blue color for prefab works because it's minimalist and offer the level of information we need. Ask Nicholas for advise on this stuff, the guy is a genius.