-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Make Subresources Unique should affect nested sub resources #2737
Comments
This (extremely simple) PR is the change that I am advocating for. https://github.com/godotengine/godot/pull/33824/files |
There are some use cases where it's better to keep resources partially shared, so I think there needs to be a way to opt-out of this proposed behavior somehow. We also need to be careful about cyclic references. I would make the proposed behavior the default/recommended one, still. |
I think the use cases where a user would not want this behaviour is fully encapsulated by right clicking an individual resource and selecting Make Unique. As for #317, if we implement this proposal, then duplicating a Node, then going to Make SubResources Unique would make the new node fully unique. Currently, there is not solid workflow for duplicating a Node and then making it unique (eg particle systems, you must go through all fields to find and make any nested sub resources unique). If we implement this proposal, perhaps it will help #317 |
how does that opt them out of the behavior? If the subresources are also now made unique through the recursive make_local then wouldn't it already be unique? Seems redundant. There would need to be good documentation on how to do that if what you're suggesting actually works. |
if this is implemented suppose resource C is made local to scene and is a sub resource of resource B which is not made local to scene, and resource B is a property of Scene A then scene A is instantiated twice (A1 and A2) will A1 and A2 share the same B? C? |
@pc9098 Please don't bump issues without contributing significant new information. Use the 👍 reaction button on the first post instead. |
This has been addressed by the implementation of Make Unique Recursive |
This was implemented by Make Unique (Recursive) and further refined by godotengine/godot#77855, closing. |
Describe the project you are working on
Tank Kings, a fast paced action game with fully server authoritative multiplayer and buttery smooth client side prediction.
Describe the problem or limitation you are having in your project
Duplicating Nodes with Nested Resources often leads to unintended sharing of sub resources because only one layer of Resources are made unique when using Make Sub Resources Unique.
eg) Duplicating a Particle System requires the user to right click -> Make Unique on all the Gradient and Gradient Textures. We often have situations where we accidentally destroy a particle systems' gradients because we didnt realize the gradient or gradient texture was shared between the two nodes.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Make Sub Resources Unique should make all sub resources unique, including nested ones
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
We should make the Make Subresources Unique feature recursively make all nested subresources unique, as well.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No
Is there a reason why this should be core and not an add-on in the asset library?
There is no use case to retain the current implementation of Make Sub resources Unique which is unintuitive and less useful than this proposal.
The text was updated successfully, but these errors were encountered: