Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Selection History panel - feedback please!

Discussion in 'Editor & General Support' started by willgoldstone, Feb 27, 2020.

  1. willgoldstone

    willgoldstone

    Unity Technologies

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

    We're looking at a number of productivity improvements we call 'Quality of life' updates.

    One such item is Selection History. It's something we know you sometimes build yourselves in productions (our internal productions have built a few versions of such a tool) so I wanted to bring the discussion here as we're in design ideation phase, re-assessing what we've seen implemented in the past.

    Here's a gif of my current mockup -

    select-history.gif
    So my questions are thus -

    1. We have a standalone window. The idea here is to make it something that listens to Scene/Hierarchy and Project selections. Bear in mind that the inspector is just a listening window, so will respond to the selection you make. Any issues with this?

    2. We know a lot of people want back and forth buttons ON the project browser, or ON the inspector, but i'm wondering if that's as useful as a single window, and hotkeys to go back and forth Eg. Ctrl-[ and Ctrl-] perhaps?

    3. Are we missing sub selections you'd want elsewhere? I know there may be some challenges with Timeline having sub selections, but keen to hear what you'd like.

    4. If you were designing this concept from scratch is there some other approach you'd use? keen to hear all ideas as always :)
     
    SealDev, dgoyette and karl_jones like this.
  2. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,193
    I can see this being pretty useful. Any way you can flag/sticky this post in some way to make it more clear this is an official post from a Unity rep? Just wondering if it'll get lost, as it doesn't stand out in any way among the other posts in this forum.

    I like it being able to handle both contexts (hierarchy and project), but feel like I'd want two separate histories, visually separated from each other. In one I've got all the stuff I've been selecting in the scene, in the other I've got stuff I'm selecting in the project.

    What happens if you hit ctrl-A and select every object in the scene? What if you click on Object A, then Object B, then Object A again?

    How would you handle things like ProBuilder, selecting edges/verts/faces? I'd expect you'd probably just want that to bubble up to trigger selection of the object as a whole, and not create a history entry for every vert I select...

    I'd want to be able to Clear the history manually.
     
  3. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,294
    This should be pinned, otherwise it'll drown real fast!

    I don't think this should be a standalone window. Primarily because I'd always want it open, and I don't have room for more items! So these should definitely be buttons the the different specific UI's.
    I also don't want a shared selection history. I don't really want a selection history - I want a per-panel history. So for the hierarchy view, I do want a history of which elements were selected, but for the project view, I want to have a history of which folders were open.


    The important thing to think about here is why we want a selection history. It's very often not for the reason we want one in the browser, where we follow a link, figure out that the link wasn't what we wanted, so we go back to where we came from.

    The reason I want a back button in Unity is because it's very easy to missclick and have the hierarchy/project view jump to somewhere completely different than what I wanted. There's a bunch of instances of this:
    upload_2020-2-28_12-9-31.png
    I try to click on Lockpicking Minigame, but I hit "Prefabs" instead. Now i have to click my way back to Gameplay/UI/Lockpicking Minigame. That becomes extra hard if I don't remember the name of the folder I was in, which is often the case.

    Selection history wouldn't help here, because it might be that I have selected a ton of things in the hierarchy while the project view was open to this folder, so if I try to find that folder using the selection history, I have to go back really far.

    The same thing happens here:
    upload_2020-2-28_12-14-4.png

    I want to click in the Wait Between Gaps field to set it's value, but I hit the population setup entry instead. This pings the asset, and my project view shifts to a different folder. This won't even put an entry into the selecton history, because I didn't select anything, but I still lost my place in the project view.


    In short, a selection history doesn't solve the major issues I have around selection. Not tthat a selection history wouldn't be nice, but it's not the most usefull history tool you can make.
     

    Attached Files:

    Last edited: Feb 28, 2020
    SisusCo likes this.
  4. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    fixed (well, pinned).


    See 'multiple items' in the mockup - we could even make a special case where we don't render the list there over X items, simply select it for performance / UX sake.

    we would pop the most recent to the top, but only if it's a new entry, we wouldn't have it make new history entries if you were for example just pinging between A and B.

    Currently no plan to support that, need to check in on what the undo stack actually does for PB.

    Seems fair, could add to context menu.
     
  5. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Yes this is something we're grappling with. It's something our internal products have built and used a lot, so its clear that at some scale it is useful - its not mutually exclusive of the tasks you go on to describe of course. My main feeling is that adding back buttons to some panels is fine, but it gets odd outside of the project panel, because if say you put them on inspector, you're driving selection elsewhere which seems backwards to me somehow. Also if doing a per panel history, do you want list somehow? I'm worried about bloating the UI too much with something like that.

    Totally, its not the same thing, I equate it more to the history panel in Photoshop, but we'd make a separate window for that - visual undo history I mean.

    You've raised this one before, and its totally valid - but you're finding bad UX in the window layout that we could improve upon, as well as needing back/forward buttons. Partially it feels like back & forward are a symptom of bad UX in other parts of the interface.

    I understand this one too - I do want to ask a tangential question - not deflection - but do you think 'ping' would be better as a double click given the loss of focus in Project?

    Yes, we have a bunch of selection challenges to resolve, and this isn't a magic bullet, it simply is designed to help ease retrieving things without reliance on hierarchy. We have a bunch of other things coming to help with retrieving the right things at the right time. Will elaborate on these when we have more concrete examples to show.
     
  6. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,294
    100%

    I think that the Properties window you just introduces will fix most of the issues that a back button would have fixed, and that the Properties window is a better solution.

    Yes. I'm not 100% sure about this one, I'd have to try it for a bit to figure out if it was better, but yeah, I'm not really happy with how clicking those things work.

    There's two problems. One is the one I pointed out - clicking them when I don't want to moving my project view. The other problem is that I often have the console and project docked next to each other, so if I have the console open and click the asset because I want to select it, nothing happens because the project view isn't visible. So if clicking it once did nothing (or maybe pinged it if was in the folder already open), and clicking it twice both made sure the project view was in focus and pinged it, that might be an improvement.

    The question then is, of course, how you open the asset from a slot where it's embedded (what double-clicking does now). Or if that's even supported? idk.
     
  7. TofaPT

    TofaPT

    Joined:
    Mar 5, 2015
    Posts:
    7
    If you build a selection history, it would be useful to be able to 'pin' items in that history list (say they then pin to the bottom of the window underneath the history list). This would be particularly useful if you are working with a lot of small scriptable object asset files, and save you jumping back/forth around the hierarchy.
     
  8. arielsan

    arielsan

    Joined:
    Dec 3, 2013
    Posts:
    47
    This is my own selection history: https://github.com/acoppes/unity-history-window, might help as inspiration for some custom features (super sad that you didn't even try to search for it nor contact me). I would love to have one more integrated with Unity, looking forward to it :)