Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Bug The reorderable ListView is... really rough

Discussion in 'UI Toolkit' started by MechaWolf99, Nov 7, 2022.

  1. MechaWolf99

    MechaWolf99

    Joined:
    Aug 22, 2017
    Posts:
    292
    I know you all are hard at work on UITK, and I appreciate it and I do like it. But there are some pretty big issues with the ListView. At least in 2022.2. Most of them are related to the UI or the UX.

    The foldout header is still using a solid color for the background on hover instead of a transparent tint. What this means is that if you have it on a different colored background than the default editor color (say a list nested in another list), it makes it stand out, look ugly and adds a lot of visual noise.



    The hover effect on elements is way to strong and makes it very jarring, especially for larger entries. It also causes fields to be a bit hard to read. Even for lists with short elements and are just text, like what you might see in the hierarchy, or QuickSearch window or project browser I think these level of contrast is still too distracting.


    The blue selection is too much for a full item. Beyond being jarring for large items, it also makes it very hard to see when you have selected a field. At least for the IMGUI ReorderableList it would set it to be grey because it would no longer be focused.

    IMGUI example from the button component


    It also makes it hard to see what field you are hovering over. Compare the normal transform fields hover to the fields in the selected element. The fields in the selected element are much harder to see the hover on.


    When you change the height of an element, it seems to take the height from the top instead of the bottom which results in the thing scrolling down instead of staying in place.


    When you have a scrollbar it starts at the bottom instead of the top when you open the inspector.


    The add and remove buttons are still not well placed for UX, though the scroll bar makes them a bit better. Still would be really nice if the whole UX of the ListView was redone as I had mentioned to @weiwei-at-unity during a Editor Foundations design system interview I participated in.

    Additionally the new highlight for the buttons doesn't really fit with the UI design of the editor. They touch each other and have rounded borders, but the inner corners are not square. And they don't go to the edge any more. I can't specifically say why, but it just looks off that they don't go the full width but do go the full height.
    If you look at things like the buttons and toggles in the SceneView overlays, you will see they have hard inner corners.
    Here is a example where on the bottom I changed them to go the full width and have square inner corners.


    I realize these may seem like minor things. But they add up, add little frustration on to little frustration and really take you out of the flow when working with them. Just make lists feel bad to work with in general.

    I hope this post is helpful in some way. And I hope ListViews can be improved.
     
    bjarkeck, Dnalsi, markvi and 7 others like this.
  2. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    +1

    I have a project where I ended up with an inspector like the one you're showing here and I was wondering if I had assets, packages or custom code that was breaking the list view, but from what i can tell it's all stock Unity.

    My biggest problem is that it's almost impossible to scroll. You can easily end up with 3 nested scrollbars with a setup similar to the one you show here. That's ridiculous. Especially when the max height of the outer list view is like 50% of the screen height, which looks silly in itself. I don't get why the lists views need to have scrollbars at all. Just show everything and use the main inspector scrollbar for navigating through the nested lists. If I've chosen to open all of them then that's because I want to see and edit everything at once, but this is almost impossible with all the nested scrollbars.

    I don't really know what causes this, but sometimes it's practically impossible to scroll to the top or bottom of the list view as well. I think this happens if you have an open element with a scrollbar in the list or something. Then you're not able to scroll past it unless you close it because the scrollbar will just reset its position over an over as you try to scroll.

    I very rarely have "inspector heavy" projects so I have no idea if this is a regression or if it has always been this bad, but it feels really bad to use. I'm on Unity 2022.2.0f1 at the moment.
     
    Aytheta and Ruchir like this.
  3. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    Since you posted so many nice screencaps to illustrate your problem, here's mine. I'm showing the full height of the inspector to illustrate how ridiculous capping the height is, not to mention to such small one. And just having nested scrollbars at all is like UX malpractice 101.

    This actually started feeling completely unusable for me, and it's such a common setup. I then realized I've owned the Odin Inspector asset for years without ever using it. I decided I would try to learn how to use it to create a custom inspector to fix this for me, but simply by adding to the project it replaces these reorderable lists with working ones.

    PS: I'm furiously scrolling the scrollwheel in first part of of the GIF. There is no way to scroll to the bottom of the view, not even though dragging the scrollbar.

    complete-broken.gif
     
    Ruchir and ErnestSurys like this.
  4. griendeau_unity

    griendeau_unity

    Unity Technologies

    Joined:
    Aug 25, 2020
    Posts:
    230
    Hi,

    Thanks for reporting these issues.
    The problem with scroll offset getting stuck have been fixed in the latest versions. See this issue tracker link for more info.
    A few more fixes are coming soon and will be backported to 2022.2.X as well. You can track this ticket to know when it lands and in what version.

    We might have been too agressive on the scroll view max height. Let me check with the team if we should backtrack this change to something bigger and include it in the upcoming backports.
     
    MechaWolf99 likes this.
  5. Sphax84

    Sphax84

    Joined:
    Jun 23, 2015
    Posts:
    35
    I have plenty of issues with Reorderable List in Inspector since I upgraded my project to Unity 2022...
    • List is way too limited in height and that's a nightmare to configure long lists in inspector (we have some in Scriptable Objects for example)
    • Multiple scrollbars in reorderable list is not good UX
    • Selecting a enum value inside a reorderable list starts a drag of that element which can't be canceled (and we have to select another object and select the previous one back to stop that)
    • Having hover color in multiple elements is making things flashing and is quite disturbing

    Thankfully I found everything is working well and as expected (and as before) if the setting “Use IMGUI Default Inspector“ is enabled (Project Settings>Editor)
     
    McGrizzle likes this.
  6. BBO_Lagoon

    BBO_Lagoon

    Joined:
    Mar 2, 2017
    Posts:
    191
    @Sphax84 thanks for the "Use IMGUI Default Inspector" solution, it was driving me crazy !