godotengine / godot-proposals

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

Implement changing the default project folder setting from the project manager #6070

Open rontarrant opened 1 year ago

rontarrant commented 1 year ago

Describe the project you are working on

This feature isn't project specific. It's about ease of access to an application-level setting that's currently accessed only after Godot has a project loaded.

Describe the problem or limitation you are having in your project

There are three instances when the user may want to change the default project directory:

In the latter two cases, the user has to:

If no projects yet exist, the user has to:

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

Having access to the Default Project Path from the Project Manager window would allow changing the default project directory:

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

There are two ways this could work. Either could be triggered by clicking a button in Project Manager labelled Default Project Directory:

  1. a new dialog could be created that mimics the Editor Settings > FileSystem > Directories panel, or
  2. the user could be taken directly to Editor Settings > FileSystem > Directories.

Once the user is finished, the OK button would bring them back to the Project Manager window.

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

Because this setting affects Godot at its top-most level and doesn't change from project to project, there can be no script-level remedy.

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

Getting access to the add-ons list, like accessing Editor Settings, necessitates loading a project first which wouldn't make the process of changing the default directory any less involved. Nor would it make it easier or more intuitive to access for new users.

rontarrant commented 1 year ago

One thing I forgot to mention in the "Describe the problem or limitation" section...

Both processes described assume that the user has researched how to change the default project directory.

KoBeWi commented 1 year ago

Technically a duplicate of #1602

YuriSizov commented 1 year ago

At the very least, it depends on #1602 to be implemented first, then we can improve the UX by providing a direct link to the necessary setting somewhere in the main UI.

idbrii commented 1 year ago

A different user perspective: I imported several projects from the same directory and thought godot should prompt me to change the "default project path" since I kept using one that wasn't the default.

After I import project blah from c:/code/godot/blah, then if c:/code/godot doesn't match my "default project path" godot could prompt to ask if I'd like to set it to c:/code/godot with a "never ask again" option. That allows users to have a common project directory without thinking about it: the path will be correct next time they try without editing any settings. It also raises awareness of the "default project path" concept so users are more likely to dig into settings to find it.

Calinou commented 1 year ago

At the very least, it depends on #1602 to be implemented first, then we can improve the UX by providing a direct link to the necessary setting somewhere in the main UI.

We don't necessarily have to implement that proposal first, as we can use a bespoke UI to change the default project path from the project manager (and perhaps also enable autoscan with a checkbox). This is what we do for language selection already :slightly_smiling_face:

xndyz commented 1 month ago

What's the status of this? Is it already possible in 4.3?

Calinou commented 1 month ago

What's the status of this? Is it already possible in 4.3?

The Settings button in the top-right corner of the project manager currently doesn't expose this:

image

However, I think https://github.com/godotengine/godot-proposals/issues/1312 makes more sense as it's more "automatic" for users.