Search Unity

Feedback Unity Gizmo Show/Hide feedback please!

Discussion in 'Editor & General Support' started by willgoldstone, Jun 9, 2020.

?

Do you like and use the Component collapse to Show/Hide gizmos?

Poll closed Jun 16, 2020.
  1. Yes I use component collapse to show and hide gizmos

    12 vote(s)
    52.2%
  2. I don't use it, and its not useful to me

    11 vote(s)
    47.8%
Thread Status:
Not open for further replies.
  1. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Hey folks,

    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 :)

    Cheers

    Will
     
    laurentlavigne, twobob and Peter77 like this.
  2. cirocontinisio

    cirocontinisio

    Joined:
    Jun 20, 2016
    Posts:
    884
    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.
     
  3. mahdi_jeddi

    mahdi_jeddi

    Joined:
    Jul 18, 2016
    Posts:
    246
    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.
     
    sand_lantern, Havokki, Yacuzo and 2 others like this.
  4. mahdi_jeddi

    mahdi_jeddi

    Joined:
    Jul 18, 2016
    Posts:
    246
    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 :).
     
    Yacuzo and Flavelius like this.
  5. mahdi_jeddi

    mahdi_jeddi

    Joined:
    Jul 18, 2016
    Posts:
    246
    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:
    https://answers.unity.com/questions/851470/how-to-hide-gizmos-by-script.html
     
    Yacuzo likes this.
  6. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    838
    Personally i never use the dropdown because it doesnt scale.

    upload_2020-6-9_14-16-4.png
    upload_2020-6-9_14-16-18.png
    upload_2020-6-9_14-16-38.png
    upload_2020-6-9_14-16-55.png

    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.
     
  7. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    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).
     
    Last edited: Jun 9, 2020
    StupydHors, firstuser and oxysofts like this.
  8. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,196
    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:

    upload_2020-6-9_11-49-1.png

    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.
     
  9. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,338
    I hate this feature with a passion.

    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:
    upload_2020-6-9_16-49-12.png

    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.
     
  10. @willgoldstone I think it would be a good idea to stick these kind of "official" voting posts to the top. More people would find it.
     
  11. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    655
    I voted against the feature.

    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.
     
  12. Zer0Cool

    Zer0Cool

    Joined:
    Oct 24, 2014
    Posts:
    203
    Should be better an icon in the main view menu and not part of expanding or shrinking components, but its only my opinion.
     
  13. teutonicus

    teutonicus

    Joined:
    Jul 4, 2012
    Posts:
    71
    Using Unity daily since 2012 and had no idea that component collapse affected gizmo visibility.
    The Gizmo dropdown is really painful to use.
     
  14. Thermos

    Thermos

    Joined:
    Feb 23, 2015
    Posts:
    148
    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.....
     
    StupydHors and Yacuzo like this.
  15. mahdi_jeddi

    mahdi_jeddi

    Joined:
    Jul 18, 2016
    Posts:
    246
    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.
     
  16. MechaWolf99

    MechaWolf99

    Joined:
    Aug 22, 2017
    Posts:
    294
    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!
     
  17. KarlKarl2000

    KarlKarl2000

    Joined:
    Jan 25, 2016
    Posts:
    606
    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.
     

    Attached Files:

  18. KarlKarl2000

    KarlKarl2000

    Joined:
    Jan 25, 2016
    Posts:
    606
    I actually am thankful it is GLOBAL lol ... Unity good luck with this one! :p
     
  19. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    655
    The problem is, this is already possible through the dropdown menu. They should fix it instead of creating a new solution that will create new issues.
     
    KarlKarl2000 likes this.
  20. AntonPetrov

    AntonPetrov

    Joined:
    Dec 27, 2013
    Posts:
    64
    1. 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.

    2. 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?
     
  21. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    1,188
    Please stick to the separation of concerns. ;)

    Showing gizmos in the scene view is one thing, expanding and collapsing components in the inspector a totally different one. After getting used to it, we learned to live with it, but it's quite confusing for beginners in my opinion. Expanding and collapsing in the inspector is generally ok, but it would benefit from a expand all, collapse all feature. The scene view gizmos dropdown is almost unusable in larger projects, simply too many items and visually not super clear (icon + checkbox have different functionality that needs to be understood).
     
  22. senak249

    senak249

    Joined:
    Mar 21, 2020
    Posts:
    2
    I do like this feature, but it's little hard to use.

    There are too many check boxes which are sorted by name. But I just use some of them.

    If Unity let us mark the favorite check boxes and sort it to the first, it will be a significant improvement in workflow.
     
    mahdi_jeddi likes this.
  23. firstuser

    firstuser

    Joined:
    May 5, 2016
    Posts:
    147
    +1 vote for dropdown search, it's make or break for overall gizmo usage in some cases.
     
    mahdi_jeddi likes this.
  24. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    I will echo other sentiments that they both have their own use case and should not be linked.

    1. I primarily use collapsing to reduce visual clutter, to 'hide' the 3 or 4 components that are never edited, and keep open the important ones.
    2. Having things 'fold back open' when I toggle their visiblity in the dropdown, is very annoying
    3. Also, having to fold thing open manually, to see the thing is also annoying

    Which components are folded out, and which gizmo's are visible are total completely seperate things in my mind and I want them to have absolutely no relationship.

    I would recommend:
    1. There is a dedicated Show Gizmo toggle on each of these things that has a gizmo (do not piggy back on fold-out state)
    2. The dropdown can then be synced globally to that UI element and it all makes sense
     
  25. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Can you shed some insight on where the team landed with this? The opinion seems mostly unanimous here that these things should be de-linked.
     
    firstuser likes this.
  26. DrummerB

    DrummerB

    Joined:
    Dec 19, 2013
    Posts:
    135
    I agree with the recommendation of @shawnblais

    Although I'm used to the current behavior by now, it is not intuitive to link the scene visibility and the inspector collapsed state. As others have mentioned, some gizmos you want to see while having the inspector collapsed (e.g. Colliders usually). Other times it's the other way around.

    I would separate the two states and add a gizmo visibility toggle to the inspector header, similar to what you have in the hierarchy for game objects.

    I would even consider separating the scene view dropdown and the inspector toggle. The scene view drop down would be the default setting and the inspector toggle would allow us to override it. This would allow us for instance to hide all colliders except the ones we are working with. Though I'm not sure who intuitive this would be, because then the inspector toggle would have to have three states (force on, force off, use scene view default).
     
  27. Epsilon_Delta

    Epsilon_Delta

    Joined:
    Mar 14, 2018
    Posts:
    258
    I don't like this feature and would like to see it separated.
    I would like it to work like this:
    - Show gizmos when gameobject is selected independently of folded/expanded components
    - You can add gizmo icon next to component docs, preset, properties icons
    upload_2020-8-17_22-15-22.png
    - Improve gizmos menu (global turn on/off, search etc.)
    - Folding/Expanding Components should absolutely be per object with option alt+click to fold/expand them globally (similar to folders or hierarchy alt+click function)
    - There could be an icon to fold/expand all components on gameobject, e.g. under the gameobject icon:
    upload_2020-8-18_11-55-30.png
     
    Last edited: Aug 18, 2020
    mahdi_jeddi likes this.
  28. oxysofts

    oxysofts

    Joined:
    Dec 17, 2015
    Posts:
    124
    I know this has been mentioned already a few times, but just to drive the point home... This is what I see when I enable gizmos in one of our busier maps:

    upload_2020-8-25_21-58-13.png

    I can't disable all these icons in one go, I have to do it one by one. FPS tanks by about 75%. I just wanted to see some gizmos for a single object that I selected to help me debug.

    edit: Just realized I should have 3D icons enabled! Still, this doesn't really help the FPS though. Shouldn't these icons be drawn all in one single call to the GPU using a sprite atlas generated at runtime?
     
    StupydHors and Yacuzo like this.
  29. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    229
    Hidden behavior like this (hiding the gizmo when I've collapsed the component) is bad. I have worked in Unity on and off for years, and have been full time for the last 6 months and I didn't even know this was a feature. I even went over and read the docs -- no mention of it.

    https://docs.unity3d.com/Manual/Giz...2.1102440747.1598570457-1886973745.1575651064

    Also, I leave gizmos off 95% of the time because with the exception of rotate, move, and scale -- I don't believe any of the others have a "function" other than being visible when something in my game (like a trigger collider) isn't. I fix my ability to find triggers by having all of them draw as a transparent pink box when in editor, but they hide the box in game. Not sure what else I'd use gizmos for, tbh.

    If Gizmos were going to give me information at a glance -- and have some interaction mechanism as part of their job, perhaps a better UX would be to only show gizmos when I'm either zoomed out or when I, the developer, switch into a "gizmo show" state via hotkey or when I'm holding down a modifier (ctrl, alt, etc). Check out how 3d RTSes do it when a player is trying to manage hundreds of unique entities doing disparate things.

    TLDR; Don't hide features like this. Make Gizmos more useful. Use strategic overlay icons only when a developer toggles via a hotkey (or holds a modifier).
     
    Yacuzo and Marc-Saubion like this.
  30. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Curious if the team is actually reading this feedback, and what the thoughts are internally?

    I hope you didn't create this thread, lose interest, and now we're all talking into the void :)
     
    StupydHors likes this.
  31. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    This might be nice in simple demos or experiments, but it's a total mess on a large project. Which Components are collapsed or not is an object-instance-specific setting that should not be modified globally.

    Ideally we can define collapsed components in the base-prefab, and variants respect that and treat them as an override. This is very important when I'm trying to set things up for my designers and artists to easily edit game objects and prefabs. I want to hide anything that doesn't concern them, and expose the important stuff. This is the primary use case for component folding imo.

    Having a single checkbox, that globally reaches into every single object in my scene and unfolds every component of some type is horrible and has the potential at any moment, to undo a ton of careful organization.

    [Edit] I just realized that in current 2019.4 all component folding is now global? I open one Transform, every Transform in my scene opens?? Who in their right mind though this was a good idea??? Please hire some actual games teams guys, so they can yell at you when you float ideas like this... some objects want to have their Transform folded out, many do not and we can save room by closing it. This should be a per-game-object setting.
     
    Last edited: Sep 16, 2020
  32. MechaWolf99

    MechaWolf99

    Joined:
    Aug 22, 2017
    Posts:
    294
    As far as I know this is how it has always worked. Though I agree, both folding of components, and display of gizmos should be per instance. Could always add a button somewhere, or have modifier key to set globally.
     
  33. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Hey everyone,

    Just wanted to say thanks so much for all the feedback here, we've read it all and will be taking action - adding search, filtering the list and making sure its not horrendous scrolling list of doom. No confirmation as to when just yet, but its on the list!

    Thanks all

    Will
     
    StupydHors, BetaMark, fherbst and 7 others like this.
Thread Status:
Not open for further replies.