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

Remove rendering method selector from main editor interface #11806

Open
AdriaandeJongh opened this issue Feb 19, 2025 · 7 comments · May be fixed by godotengine/godot#103042
Open

Remove rendering method selector from main editor interface #11806

AdriaandeJongh opened this issue Feb 19, 2025 · 7 comments · May be fixed by godotengine/godot#103042

Comments

@AdriaandeJongh
Copy link

Describe the project you are working on

What's relevant to this proposal is that I'm a professional game developer that works on game projects for more than 6 months.

Describe the problem or limitation you are having in your project

godotengine/godot#103016 triggered me to make this proposal. The rendering method selector is taking up valuable screen / top bar real estate that I personally rather use for custom tools around running my game. I never (and never will) use the selector to switch between rendering methods mid-project, because it's a project setting that – at least for larger projects – is determined once and then worked with.

Here's a screenshot of one (albeit small) custom editor plugin that is being 'pushed' away by the rendering method selector:
Image

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

Remove the selector.

The rendering method selector is rightfully part of the 'create new project' dialog, and can later be changed through the project settings (under Rendering > Renderer). These two places to change the rendering method are more than sufficient.

If I understand the PR and the proposal to add this selector correctly (here: #5979) the main reason for adding this selector is debugging what renderer was used when looking at screenshots. This is an outdated argument because the Help > Copy System Info, which is a mandatory copy / paste for every issue report, already contains this information.

If you're not convinced of my above reasoning and still think it's useful to have the rendering method be somewhere in screenshots of the editor, then perhaps the rendering method and underlying driver can be added to the label at the right bottom corner of the Bottom Panel so that it says 4.3.stable mobile (vk) or something.

Image

However, this would take up valuable real estate in the bottom panel, and so we're back at square one. I propose to simply remove it and leave it in project settings where it belongs.

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

Remove the selector.

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

I could add an editor plugin to every project I create and hide the selector myself.

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

As far as I know, there are no good reasons for any game developer to continuously switch between rendering methods. So if this applies to every game developer, then perhaps core should be adjusted.

@Zireael07
Copy link

This is an outdated argument because the Help > Copy System Info, which is a mandatory copy / paste for every issue report, already contains this information.

This is only helpful when you're making an issue report. Often issues are noticed in your own gameplay or looking at people's tutorials/videos.

The selector function going might be a good idea indeed, but the DISPLAY needs to stay, and stay somewhere prominent. Either where it is now, or down at the bottom next to Godot version string?

@Calinou
Copy link
Member

Calinou commented Feb 19, 2025

I can confirm what @Zireael07 is saying here. It's quite common for me to help out users on the forum, Discord or even look at YouTube videos and notice something wrong. Knowing which rendering method (and driver) is used makes troubleshooting a lot faster, much like knowing the Godot version. Not having to ask users which rendering method/driver they are using saves round-trip time that can be spent figuring out the problem instead 🙂

I think a good middleground is to go for the solution proposed by bruvzg where the rendering method and driver is displayed as a small hint next to the version number (e.g. using small text or an icon). As a bonus, this ensures any screenshot with the version number visible also has the rendering method/driver visible. We still need to be careful as to not make it too wide, as width in the bottom panel is limited by the window width.

Edit: Pull request opened: godotengine/godot#103042

@Zireael07
Copy link

Yeah I wrote my comment before seeing bruvzg's comment in the other issue. The colorcoded dot is a good solution

@arkology
Copy link

arkology commented Feb 19, 2025

The colorcoded dot is a good solution

Points against it:

  1. Colourblindness
  2. Abstract symbol will not be better then text (especially if someone decides to make a photo of screen, lol)
  3. May (will) work bad with different themes

@Calinou
Copy link
Member

Calinou commented Feb 19, 2025

@arkology Indeed, this is why I went for a middleground solution in godotengine/godot#103042 where text is used to denote the rendering driver. However, we can only fit so much information within a 16×16 icon, so we can't denote both the rendering driver and the rendering method within the icon (except by changing its color as I did).

@Zireael07
Copy link

It should be possible to pick colors that are not a colorblindness issue (or use a single color that varies in luminance instead)

@realkotob
Copy link

This would be a massive improvement. Changing the renderer is not done often enough to warrant being there and an icon with a hint is much better for reporting and debugging purposes.

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.

6 participants