godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Add support for opening multiple Inspectors (or improve workflow when editing multiple nodes/resources properties at the same time) #7459

Open SirPigeonz opened 1 year ago

SirPigeonz commented 1 year ago

Describe the project you are working on

Particle systems and other complex system of nodes and resources that require tweaks of multiple properties back and forth to achieve desired results.

Describe the problem or limitation you are having in your project

To tweak or edit complex systems of nodes like for example particle system/particle scene file, user has to do a lot of scrolling to edit properties that are far apart and influence each other.

Example: Editing Material, Draw Passes Mesh and Particle Process Material properties to tweak or find desired look.

image

Describe the feature / enhancement and how it helps to overcome the problem or limitation

If the user could open more than one Inspector Tab, it would minimize required scrolling to tweak properties.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Mockup how it could look.

image

If this enhancement will not be used often, can it be worked around with a few lines of script?

It's an Editor usability problem, so a simple script would not help.

Is there a reason why this should be core and not an add-on in the asset library?

It will often be a problem for anybody tweaking complex node and resource systems. Especially artists that have to test multiple settings to find what they want or can achieve.

Zireael07 commented 1 year ago

Problem: horizontal space can already be at a premium on some devices However if this is easily toggleable/resettable to one pane, it would be a great addition for people on wide displays

SirPigeonz commented 1 year ago

Problem: horizontal space can already be at a premium on some devices However if this is easily toggleable/resettable to one pane, it would be a great addition for people on wide displays

Yes, it would mostly be - use when needed, turn off when not - type of tool.

zinnschlag commented 1 year ago

Having a separate tab doesn't really fit into the design of the Godot editor UI, since it is composed of a fixed number of panels in fixed relative positions. Instead I would take the single inspector tab and split it horizontally into two inspectors.

So basically the original proposal, but with only a single "Inspector" tab on top and without breaking the established layout of the editor.

Dark-Horizons commented 1 year ago

Maybe, can be add Toggle Split mode like FileSystem Dock, instead of new dock. This let us on two seperate inspector windows to work independently. image

SirPigeonz commented 1 year ago

Maybe, can be add Toggle Split mode like FileSystem Dock, instead of new dock. This let us on two seperate inspector windows to work independently. image

It would help, but problem is I sometimes need 3-4 (once even 5) inspectors next to each other to tweak stuff, especially particles. I would like to have an option to utilize horizontal screen space more.

QbieShay commented 1 year ago

I want to add that specifically for particle work this is a big painpoint. Scrolling up and down is a lot of scrolling, and often you need to tweak material properties together with particle system's ones. this is very specific to particles work.

We've often floated around the idea of having a dedicated screen for it, but Godot's flexibility with it makes it really difficult to achieve unless we want to lock people into a specific workflow.

SirPigeonz commented 1 year ago

For editing multiple resources/nodes properties in Inspector problem, this is how Blender is doing it: image

In the screen I have selected Cube, but I can still see and edit Suzanne properties in one of the "Inspectors"

They allow multiple Inspector editors (Property Editor) That has a "Pin" icon, so you can lock a specific window to always display your object props.

SirPigeonz commented 1 year ago

If somebody has better solutions open up. Maybe I should change the title of the proposal to something more vague tackling UX issue, not a specific solution?

robochase6000 commented 1 year ago

it's not clear from the proposal description, as it seems to focus on viewing the same object in both inspectors. I think more important than that is the ability to view two objects side-by-side in two inspectors to compare differences.

the work around right now is to capture a screenshot of one, and open that side by side with the godot editor; it's pretty annoying to do this on a laptop as it requires resizing godot to make room for an image viewer program.

this is one thing I think Unity has right that should be considered: each inspector tab can be 'locked' to a specific object. if an inspector tab isn't locked, it just shows the inspector for whatever object is currently selected.

in addition to allowing side-by-side comparison, this kind of thing can open up some new workflows. i.e. if you have one node that you pretty much always want open, you lock that to one inspector and leave a second inspector for general browsing.

I could see this being not-so-simple when you start thinking about how have the 'open scene' tabs at the top that you can freely switch to, but I think this would be worth battling that complexity :D

Spaz102 commented 8 months ago

This would be a great workflow improvement. The Unity editor supports something equivalent, and I used it a lot (Regardless, I'm never going back to Unity, lol).

The Godot editor has been getting a lot of tasty upgrades lately, so maybe there's already a solution in place (Or coming soon)? The side panels can handle side-by-side docks (Exactly what we're asking for!), but I'm not seeing a way to open and lock a second Inspector.

And so, another use case for this request (My current pain point):

Lex-DRL commented 2 months ago

Coming from Unity with a big 4K TV as my main display, I must say that lack of this feature is one of the biggest pain points, even though I'm still just learning Godot. Can't imagine how tough it would be to actually work in Godot without an ability to open and arbitrarily lock/unlock 3-5 inspectors in 2 panels, with 5-15 Filesystem tabs in 3 other panels.

I think, the issue needs a general solution, not just a way to open, specifically, 2/3/4/etc inspectors.

I.e., Godot needs a standard dockable UI. Maybe, with a couple of tabs hard-coded to be in a specific panel (scene / script editor), but the rest of the UI needs to be fully cusomizeable.