Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update UI to use the modern Overlays API #388

Open
nukeandbeans opened this issue Sep 9, 2023 · 6 comments · May be fixed by #390
Open

Update UI to use the modern Overlays API #388

nukeandbeans opened this issue Sep 9, 2023 · 6 comments · May be fixed by #390

Comments

@nukeandbeans
Copy link
Collaborator

nukeandbeans commented Sep 9, 2023

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.

@Appleguysnake
Copy link

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?

@nukeandbeans
Copy link
Collaborator Author

nukeandbeans commented Sep 13, 2023

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.

@SixParQuatre
Copy link

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.

@SixParQuatre
Copy link

SixParQuatre commented Oct 21, 2023

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.

@nukeandbeans nukeandbeans linked a pull request Oct 26, 2023 that will close this issue
@SixParQuatre
Copy link

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

@SixParQuatre
Copy link

@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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants