-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
[3.x] Implement textual ext/subresource IDs. #50693
Conversation
0c3325c
to
8c9bb2e
Compare
Just wanted to provide feedback regarding this PR:
Test1
Test2
Test3
ObservationsThe project ran without problems. |
8c9bb2e
to
4c8e11e
Compare
Updated to match the latest state from #50676.
That's expected indeed, changes only happen when the scenes or resources are saved. Some are saved automatically when you run the project, which is why you saw them changing. |
Here are Windows x86_64 builds of this pull request for testing:
I would recommend testing this PR with an exported project as well. (The project must be exported with an editor build that includes this pull request.)
|
Closed by mistake. |
4c8e11e
to
64eb4fc
Compare
* Friendlier with version control. * Generates pseudo unique IDs, to minimize conflicts when merging, but still user readable (so, not UUID). * Eventually will also allow to have more precisely named sub-resources in imported files. * This will allow better reloading on changes (including resources already loaded) as well as better keeping track of changes on the DCC. * Keeps backward compatibility with the old formats. * Binary and text format version incremented to mark breakage in forward compatibility. (cherry picked from commit 75755be)
64eb4fc
to
ad4c683
Compare
If this is to be merged for 3.5, beware of #54774. |
71cb8d3
to
c58391c
Compare
Redo tree tilemaps & colliders in Godot editor after integrating new modularized player animation system. This is necessary because of conflicts in the scene file when merging branches - there is as of yet no coherent way to deal with internal resource id conflicts. For more information about scene file merging issues in Godot, see: godotengine/godot-proposals#1281 godotengine/godot#50693
Hello 😊 ! How can I help to close this one ? :) |
3.5 is too close to release for this pull request to be merged by now. This PR could still be considered for 3.6, but this is a fairly risky change to undertake. We also can't revert this change once it is made in a released beta/RC build, as the new UID-based format is incompatible with non-UID-aware versions of Godot. For this PR to be merged in a 3.6 beta, there needs to be strong community demand and people available to test this change on their real world projects (after making backups, of course 🙂). Also, this PR will need be rebased and have UID fixes that were applied in |
Why ?
Got it ;) ! |
This PR changes how scene files are saved, which has a risk of data loss if there are bugs in the implementation. Some people still aren't using version control in their projects, and while Godot's license doesn't provide any warranty, we should still avoid playing with fire when possible. |
After thinking about this some more, I think it's not worth backporting to 3.x anymore. We're about to release 3.5 and this is of course too late to merge such a change. It could be merged for 3.6, but there are various issues that this would raise:
|
Backport of #50676.
IMPORTANT: Needs extensive testing on safe project backups. If there's a bug in this PR, it can break scene files and lead to data loss. So make copies of your projects (or better, use VCS) when testing this PR. But please do test it on your projects to make sure that it works as expected :)
How to test: See Testing pull requests for instructions on how to download CI builds to test locally.