-
-
Notifications
You must be signed in to change notification settings - Fork 21.8k
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
Add options to control if ".uid" files are generated #100973
base: master
Are you sure you want to change the base?
Add options to control if ".uid" files are generated #100973
Conversation
I think Godot should commit one way or the other. Leaving this as an optional feature greatly limits it's potential in the future. All future features that build up from the uid system (or the metadata-companion-file concept in general) will be impossible to implement fully if some users don't have uids available. |
@JoNax97 What features? You should provide specific situation to make your viewpoint convincing and solve the problem that I mentioned about (".uid" in "res://addons"). If you want to talk about future, to make plugins' detail files outside the version control system is a good future, too. |
I agree with you that add-ons should be handled via some package management system. But until then, we cannot guarantee that a plugin does or does not rely on uids and so it's not safe to disable them for all addons. My main concern is not with add-ons specifically but in general. Fundamental mechanisms that the engine uses to manage its internals should not be up for disabling IMO. |
I think I grab the point that you focus about. We should make a decision before 4.4 release. |
I don't think making UID files optional makes sense, it'd just be disabling an important and helpful feature and solves issues that people have been frustrated at for years, having them be optional just resets that and creates additional sources of bugs and frustration Now there should be a proposal discussing how to handle UID files in addons, but regardless this PR needs a proposal, this shouldn't be discussed here as per the workflow guidelines, PRs are for discussing the implementation, proposals for discussing the idea |
This pr can be superseded by #100994 now. Here just talk about make the generate behavior become optional. There have many remonstrances in #97352, even though it is merged, because not all people have spare time to focus each proposal and pr, they just pull and compile by themselves, and discovery the problem at this time. I very agree this comment. Anyway, I know this pr can't solve all problems and satisfy everyone, just provide a possible option to make godot reach to a good future. |
I don't think that PR is a sufficient replacement for this PR. It only contains the "disable for addons" part of this PR, and leaves out the "disable for project" part, which is core to the proposal this PR aims to address. |
Although the change of “disable for project” part seems more significant, the main purpose of this pr is to temporary avoid compatibility issue of plugins by disabling generate ".uid" files in "res://addons/". |
e0f444a
to
ef314ca
Compare
ef314ca
to
bfc87aa
Compare
I believe that's the purpose of the PR you nominated as a replacement, #100994. This PR is linked to godotengine/godot-proposals#11571, which says "Add an option to disable generation of UID files" (i.e. disable it in general, not just for addons). |
Asking cause I want to know what to expect for 4.4 regarding UID files. Basically will I be able to switch UID files off for my project. |
Would somebody be able to tell how long review of this PR might take? |
This is a new feature and we are in feature freeze until after 4.4 is released, so this can't be merged until then, but this idea itself is being discussed, see the comments on that for alternative solutions |
Is this rl a new feature? To be able to disable another feature? |
It might just me being stupid, but I believe Option for switching off |
One could argue it would be part of the same feature, like the UID upgrade tool added recently, but this is not something that's clearly decided to be wanted or clear that it is a good solution I don't know what the production team thinks in this case, but I'd say it'd at least require a consensus before this can be considered for 4.4, and there isn't a strong consensus if you check the reactions on this PR (15 positive, and 10 negative) But the production team can take a look and see what they think |
How could production team be asked to check this topic?
I am worried that UID files will be trashing my filesystem - I have a lot of script and txt type files (txt for things such as dialogues and items)
Also I had experienced a situation in the past where godot would self change uids when saving open resource.
|
That's something to report as a bug, not something that should be solved by not using |
I seen it already beeing reported, I added that as just a way of saying uids never been working for me, also I belive path is easier to read than uid |
The main purpose of this pr is to allow not generate ".uid" files for "res://addons/", by setting "editor/resource/generate_uid_files_for_addons" to false in project settings.
Sometimes plugins are not included in version control system( for example, using gd-plug to reference plugins by single script), generate ".uid" for plugin's scripts and reference them by using uid are not reasonable.
Additionally, I add "editor/resource/generate_uid_files" to allow not generate ".uid" for the project, but default is true.
Generate ".uid" for each script make the file resource manager become ugly, and we should manipulate 2 files now.
There are some personal preferences here, I believe some people also have this feeling.
For old users, they should used drag files in editor's file system dock, it should not breaks the reference relationship by using this way, and uid is unreadable, we don't use them for coding directly.
In other words, ".uid" files are not necessary for some users.