Skip to content

Add ability to override any editor setting for any project #1480

@me2beats

Description

@me2beats

Describe the project you are working on:
gdscript plugins

Describe the problem or limitation you are having in your project:
say there is "constrain editor view" setting.
I'd like to have it enabled by default but disabled for some projects, say for project X.
but now there's no "official" way to do that.
As a result every time I open project X, I need to go to Editor settings, then
disable "constrain editor view" then do some work, and after that set the setting "constrain editor view" back.
and what would be really inconvenient if I need to do this for several/several dosens of Editor settings

Describe the feature / enhancement and how it helps to overcome the problem or limitation:
The idea is adding ability to set editor settings per project.
I think it's possible to have global Editor settings (what Editor settings actually are now) and local ones.
For example the user could specify which settings he wants to be "local", so that these settings won't affect other projects Editor settings.

I believe this would make work with different projects more flexible and customizable, because the user may wish different Editor settings values for different projects (depending on project type, game genre, target platforms and so on)

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
"local project editor settings" could be stored in project res:// dir for example, maybe in a separate file. I think there's no need to write every single setting value, but only values of settings which user make "local"

If this enhancement will not be used often, can it be worked around with a few lines of script?:
I don't think so

Is there a reason why this should be core and not an add-on in the asset library?:
it could be a plugin but I'm afraid it would be a hacky one, and this won't work correctly in some cases
for example it is obvious that the implementation of this feature as a plugin will require the user to have this plugin active in every project where the user wants to use this feature. And this may be inconvenient

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions