Skip to content

Update UI to use the modern Overlays API #388

Open

Description

@nukeandbeans

This has been a want of mine for a very long time, but is also a complicated task.

What it'd do:

  • Re-write the entire scene view UI front-end, and change some back-end API to use the modern "Overlays" API provided by Unity since 2021.2.
  • Allow docking the UI anywhere in the scene view, instead of being fixed to any one spot.
  • Possibly eliminate the need to have a separate editor window, which would simplify a lot of things, and eliminate a lot of bugs.
  • Bring the required Unity version up to 2021.2+, and would remove any code for versions of Unity older than that.

What is needed:

  • Figuring out if we plan on changing the existing UI & experience to something new, or if we only want to move to Overlays, keeping the current arrangement.
  • Research. Both collected from users and how they use the tool, and from us on how to implement the changes.
  • Help! With the nature of this, it'd be a good project for contributions, both small and large!

Going farther:

It'd be great if anyone can comment here on any UI/UX changes they'd like/want to see.

Questions from us would be along the lines of:

  • Are there other tools you really like the user experience of, that might be relevant to us?
  • How do you use the tool?
  • What do you use the tool for?
  • Are there any custom changes you make to the tool that you'd like to see added, that might help others?
  • Are there any pain points you have with the existing experience, that could be smoothed over a bit?

Later:

Planned changes would go here.

Activity

  1. self-assigned this
    on Sep 9, 2023
  2. pinned this issue on Sep 9, 2023
  3. loosegrid commented on Sep 12, 2023

    @loosegrid

    Excited for this since some of my most annoying bugs/quirks are GUI-related.

    Aside from the UX decisions, is it technically practical to do this piece by piece? Like one update only changing the bottom toolbar or the scene info display, or would the whole GUI system have to be changed over at the same time?

    As for use case, I definitely prefer using a docked window and keeping the scene view clear since I use multiple scene views together and don't need multiple overlays. I assume the docked window would have to be redone in UI Elements?

  4. nukeandbeans commented on Sep 13, 2023

    @nukeandbeans
    CollaboratorAuthor

    Aside from the UX decisions, is it technically practical to do this piece by piece?

    It'd have to be done all at once if the existing layout is kept, as it uses separate IMGUI windows for each section of the UI.

    As for use case, I definitely prefer using a docked window and keeping the scene view clear since I use multiple scene views together and don't need multiple overlays. I assume the docked window would have to be redone in UI Elements?

    The added bonus of the Overlay system, is that they can be toggled on/off with just a button press and a click. No need to "toggle" RCSG on/off. Additionally, you can hide overlays per-window! It wouldn't crowd every window with the UI. It's currently possible to edit the UI manager to only display to the first scene view, but it'd require getting the window names, and creating them in a specific order to ensure it works correctly. The Overlay system really is robust, albeit a bit of a pain to set up initially.

  5. SixParQuatre commented on Oct 21, 2023

    @SixParQuatre

    If anyone's interested, I did a proof of concept of transforming the edit mode bar into a ToolbarOverlay; since it was the bit of the Scene UI that bothered me most in Unity 2023 - I also added a button to toggle CSG On/Off.
    image
    image
    image
    image

    I'm not super versed in this package but what I've done feels like a functional replacement and has surprisingly small code footprint; so if that's interesting to yall, I could clean it up a bit and put it in a fork for evaluation.

  6. SixParQuatre commented on Oct 21, 2023

    @SixParQuatre

    Ok, so I've made a fork with some minor adjustments in the icons : https://github.com/SixParQuatre/realtime-CSG-for-unity.git in the EditMode-OverlayTab branch.
    I've tested it in 2020.3, 2022.3 and 2023.3a (though in that version, Unity does auto-port code in a bunch of CSG files).

    I'll make a pull request if yall like this - I personally think it'd be good to have this in before porting all the other tools to Overlay: it solves the biggest UX issue and I don't feel the tools UI will greatly benefit from making them overlay in comparison.

  7. linked a pull request that will close this issueEdit Mode GUI as a ToolbarOverlay #390on Oct 26, 2023
  8. SixParQuatre commented on Apr 17, 2024

    @SixParQuatre

    There's been no update on the review for my pull request in the last 6 months; anybody knows what's going on?

  9. SixParQuatre commented on May 28, 2024

    @SixParQuatre

    @nukeandbeans sorry to bring the batsignal; but I'm curious where this is at.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions