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

[TRACKER] Project settings that should be marked as "basic" following the basic/advanced split #50620

Closed
10 of 11 tasks
Calinou opened this issue Jul 19, 2021 · 10 comments
Closed
10 of 11 tasks

Comments

@Calinou
Copy link
Member

Calinou commented Jul 19, 2021

Issue description

Godot now has project settings marked as "basic" and "advanced" (non-basic), for the purposes of displaying only basic settings by default.

The initial selection of settings considered "basic" is quite small and needs many adjustments. Feel free to report which settings you think should be marked basic. At the same time, remember that not everything can be marked basic – there needs to be a sufficient difference with the Advanced Settings toggle 🙂

To make an advanced setting basic, replace its GLOBAL_DEF() call with GLOBAL_DEF_BASIC().

A 🎉 reaction from @Calinou means the comment was incorporated into this post.

Steps to reproduce

Use the Godot editor and look for settings that most users will need to adjust at some point in their project.

Advanced settings to mark as basic

Basic settings to mark as advanced

  • gui/fonts/dynamic_fonts/use_oversampling
    • This setting generally only needs to be changed when you encounter bugs with font oversampling. You don't need it to have a pixelated font rendering when using the viewport stretch mode, or when using a font that's designed to look pixelated in the first place.
    • We'll have to remove the warning message that's printed on startup if we make this setting advanced.
  • layer_names/*
    • Changing render or physics layer names generally doesn't need to be done by beginners.
@Calinou Calinou added this to the 4.0 milestone Jul 19, 2021
@Calinou Calinou changed the title [TRACKER] Settings that should be marked as "basic" [TRACKER] Project settings that should be marked as "basic" following the basic/advanced split Jul 19, 2021
@foxydevloper
Copy link
Contributor

I think anti aliasing (rendering/anti_aliasing/quality/msaa, rendering/anti_aliasing/quality/screen_space_aa) should be under basic, I enable it on projects often, and it seems like a relatively basic and easy to use setting.

@foxydevloper
Copy link
Contributor

foxydevloper commented Jul 19, 2021

Went through to find some more I think should be added to basic:

  • application/boot_splash/*
  • editor/node_naming/*, it's a niche setting, but very simple to understand and useful if you prefer your nodes and scenes to have a similar naming scheme as resources and scripts
  • physics/2d/default_gravity
  • physics/3d/default_gravity
  • rendering/environment/defaults/default_clear_color, for changing the background color in 2D
  • display/mouse_cursor/*, easy way for beginners to add custom mouse cursors

Also:

  • Since audio/buses/default_bus_layout is in basic mode, it makes sense for rendering/environment/default_environment to be as well, or for both of them to not be basic
  • gui/fonts/dynamic_fonts/use_oversampling probably shouldn't be a basic setting

@Calinou
Copy link
Member Author

Calinou commented Jul 19, 2021

editor/node_naming/name_casing, maybe also editor/node_naming/name_num_separator, it's a niche setting, but very simple to understand and useful if you prefer your nodes and scenes to have a similar naming scheme as resources and scripts

I'm not sure about that one. I'm of the opinion that settings that deviate from the Godot style guide should not be exposed as basic settings, for two reasons:

  • New users should not be exposed too many stylistic options. Instead, we pick good defaults automatically as to not overwhelm them with choice.
  • We want as many people as possible to follow the Godot style guide, so deviating away from it needs to have a good reason behind it.

Either way, I hear very few people actually changing that setting from the default value – it's probably changed in less than 1% of the projects out there.

@ghost
Copy link

ghost commented Aug 23, 2021

Hey guys the new Project preferences looks great. I would also like to propose the following changes:

Basic

application/config/icon move to Basic (straightforward app icon)
application/run/low_processor_mode by itself should be moved to Basic (this functionality is beginner friendly on/off and is easy to understand)
application/boot_splash/image move to Basic
rendering/environment/defaults/default_clear_color this is fairly straightforward and has immediate impact on the project
display/window/size/always_on_top move to Basic

I would also propose the gravity values for 2d and 3d would make more sense as basic specifically
physics/2d/gravity
physics/3d/gravity

Additionally if you plan to have multiple physics engines or renderers perhaps the specific dropdowns should become visible in Basic:
physics/2d/physics_engine
physics/3d/physics_engine
rendering/driver/driver_name

Advanced

layer_names/* entire category should be Advanced
gui/* everything in gui should be in Advanced some of that functionality like Oversampling or Snap Controls to Pixels requires specific understanding

@ghost
Copy link

ghost commented Aug 23, 2021

Also I was thinking Basic could also display all the tooltips right underneath their respective properties instead of on mouse over. When switching to Advanced they will only show up on mouse over like they do now.

@Calinou
Copy link
Member Author

Calinou commented Aug 23, 2021

application/config/icon move to Basic (straightforward app icon)

You generally do not need to change this setting. Instead, replace icon.png at the project root with your icon. I'd prefer to encourage a "convention over configuration" approach like this when possible 🙂

application/run/low_processor_mode by itself should be moved to Basic (this functionality is beginner friendly on/off and is easy to understand)

Games should generally not use this project setting (with rare exceptions such as turn-based games with no animations whatsoever). I fear it may be counterproductive to expose this as a basic setting, as enabling this in a game will likely make it appear less smooth.

physics/2d/physics_engine
physics/3d/physics_engine

Godot 4.0 will only feature GodotPhysics by default, which means there's no point to exposing those settings as basic (since there is only 1 physics engine to choose from).

The rest sounds good to me.

@foxydevloper
Copy link
Contributor

foxydevloper commented Aug 23, 2021

I don't think layer names should be made advanced. Otherwise, it'd be very easy for people to mess up what layers are for what. I've used layer names every time I've used layers before, naming layers seems almost necessary when using them. Layers don't seem to be too advanced of a concept in game development itself, so I think hiding the category would just make it hard to find the option to name their layers. If layer names are in the way, it's very simple for someone to collapse the whole category.

@Calinou
Copy link
Member Author

Calinou commented Dec 4, 2022

Now that #61974 has been merged, are there any outstanding project settings settings that should be marked as basic?

@Maran23
Copy link
Contributor

Maran23 commented Dec 1, 2023

Looks like this tracker is done?
I feel like we are good here.
TBH the only setting I would still see as basic is the custom theme and theme font, both are things you mostly change.
Still overall we are good here.

@akien-mga akien-mga modified the milestones: 4.x, 4.0 Dec 1, 2023
@YuriSizov
Copy link
Contributor

TBH the only setting I would still see as basic is the custom theme and theme font, both are things you mostly change.

I agree, they should be basic. Please feel free to open a PR :)

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

No branches or pull requests

5 participants