Quick question - regarding showing and hiding of Gizmos in the scene view, we’d like your feedback on the component collapse functionality we have please, see this video -
We will run this poll for a week to gauge general feeling - this is part of ongoing work to the scene view, can’t say more without biasing the feedback!
Happy to hear any other related feedback in this thread of course
It’s a really useful feature, and I like the fact the two menus are linked.
Gives you double convenience:
You can turn off that one component which is on the object you’re inspecting, from the Inspector.
Or, you can turn off a bunch from the Scene view drop-down, to do some cleaning.
I use both and don’t like the idea of linking them together. For example I don’t like to see camera gizmo, because it’s always at the center of the screen and hiding other objects, but I use the camera’s inspector pretty often. I also like to see the colliders’ gizmos in the scene view, but almost never use the inspector for them.
When I started using Unity it was pretty confusing that sometimes I wouldn’t see the gizmos even though they were tuned on in the gizmos list. Even today, I sometimes can’t figure out why I don’t see gizmos and then I remember that I have to un-collapse the inspector of that component to see them. So my vote would be to not toggle the gizmos when collapsing the inspector to avoid confusion.
To clarify, I use the collapsing to manage the info shown on the inspector when I have a lot of components; turn off some that I don’t need at the moment to have space for other ones. And then I use the gizmos checklist to turn on and off the gizmos that are important to me right now to see the structure of the scene. We even add a lot of our own gizmos to help with the “viewing structure of the scene”, like showing the objects’ path or gameplay/interaction areas.
The best feature that recently got added was the option to completely toggle the gizmos on and off together which I use pretty often, because we just have a lot of custom gizmos we show for unselected “manager objects”; so thanks for that :).
On the other hand, if you completely link these together then at least there will be less confusion as I would check the gizmo list and see that the gizmo I’m searching for is unchecked. It would just be annoying for my current workflow.
If you decide to go either way, I would like to have a public API for toggling them. Right now it seems to be private and needing some hacks to make it work:
I think you get the point An option to disable or enable all of them would be greatly appreciated, they can be a performance issue and turning them all off, and then enabling specific ones which you need is a fix for that. We had to make a custom editor tool just for this.
I second @TJHeuvel-net . Improve that dropdown! Currently the inspector open/close is the only viable option for showing and hiding Gizmos, the dropdown needs
a) search
b) a way to pin things or have recently interacted with ones at the top.
or c) categories based on namespaces like most other things in Unity where lists become long
To clarify: for me the collapsing does not necessarily need to be connected to Gizmo state, it’s a learned behaviour. However, if you want to get rid of it, you should replace it with something that is at least as fast
(and the current dropdown definitely isn’t, as above screenshots demonstrate - it looks like that for every non-trivial project).
First: Usually posts like this are pinned/stickied?
I think that conflating these two things (collapsing a component with toggling how all instances of that component draw their gizmos) is a bad behavior, and almost never what I want. This also extends to the fact that if I collapse “Component X” on one object, it collapses the component on all objects. That’s also almost never what I want.
I want to collapse a component on an object, on a case by case basic, because I want to reclaim some space in the inspector window. But if I collapse the “Box Collider” component of this one object, now I can’t see any box collider gizmos, and I all Box Collider components get collapsed along with it. Let me just collapse a component, without changing the gizmo visibility, and without collapsing all instances of that component on all objects along with it.
One bit of missing functionality that annoys me every time I update to a new version of Unity, or start a new project, is that there’s no Hide/Show button to toggle the icons in the Gizmos dropdown:
Where I’ve circled, there should be a hide/show all, just like the check/uncheck all beside it. Every new project, or UNity engine update, I have to go in here and click a hundred icons that got enabled which I don’t want to see. Usually I want them all disabled except for a small number I would prefer to turn back on one at a time.
Good MonoBehaviour design calls for having objects consist of many MonoBehaviours that does different things. In our current game, the player’s prefab has 21 components attached to it:
In order to find anything in that list, I have to keep them collapsed, and then expand the one I need to work on. Otherwise it’s far too much scrolling. The inspector’s performance is also piss poor if all of those are folded out, as imgui just doesn’t scale very well past a certain number of components, so I kinda want to keep them collapsed for that as well.
This all means that I run into the situation where I wonder where my gizmos went - turns out they’re gone because I minimized the component to work on a completely different component.
There’s also a couple of other instances of the flip side. There’s some gizmos I don’t want to see, so I go in and collapse them, but then I need to edit a component of that type and suddenly the gizmo is back.
So I’d very much like them to be two different toggles, because I often want one to be toggled but not the other.
I was initially seduced by it because I hate using the guizmo dropdown but thinking about it, that solution has the issues already mentioned and wont solve the problem.
If you have half the asset store on your project like I do, the dropdown takes seconds to deploy and is full of random stuff that don’t even have icons. So I barely use it and get inconvenienced by icons. If I could have immediate access to the most common component I want to show/hide in the scene view, that would solve everything without risking creating other problems.
Gizmos and collapsing should be different toggle on inspector.
Also the huge gizmos list should be removed or move to preference settings…It takes 10+ seconds to open that list in big project…
I second this a 100%. I also disable all of the gizmos every time I install a new version of Unity. This is especially bad in UI, where every single one of the component have its won icon and make the whole scene view impossible to use until you disable them all.
I will echo what others have said. Almost any time I collapse a component, it is because I want to have more room/less noise in the inspector. But I still want to see the gizmos. Bit of a side note, I really dislike that component collapsing is global, and not per object!
I almost always disable all gizmos except a select few. The drop down also gets extremely cluttered, full, and slow in any slightly large project. And it doesn’t have a ‘toggle all’ button for the icons, or a search field which is very needed. So I almost never mess with toggling on/off the ones I want. I just always have them all toggled off, and just toggle them all on when I need one.
I also never want the component icons visible in the scene. With maybe a few exceptions.
In short, I personally would like the following:
Decouple component collapse from show/hide gizmo.
Add all/none button(s) to the gizmos drop down. Maybe like the post processing.
Add a search field to the gizmos drop down.
Slightly unrelated, make component collapsing be per object and not global.
Thanks for taking the time to get feedback and address this!
I voted FOR it because I don’t know a better alternative.
Collapsing components is useful when I don’t want Box Colliders etc meshes causing visual chaos.
Using component collapsing for hiding gizmos is a mixing of concerns. The desire to show/hide gizmo and a desire to expand/collapse component do not necessary match each other.
Just make that Gizmos drop down had a subset of gizmos relevant to current selection.I mean if I am editing an object or a prefab then most likely I would like to hide/show gizmos for this kind of objects.
But changing global settings must be there too. May be you should orginize large dropdown into a tree using some path notation with slashes and a custom attribute for OnDrawGizmos callbacks to specify this path?