Skip to content

Duplicating a node should result in either a true Instance or true unique copy, not a mix of both #317

Open
@golddotasksquestions

Description

@golddotasksquestions

Describe the project you are working on:
In all my projects I'm duplicating and instancing nodes all the time.

Describe the problem or limitation you are having in your project:
When I duplicate nodes, they are neither unique (aka independent or disconnected from their original), nor are they completely connected: a pure instance where changing one thing in any one of the duplicates results in the same change happening to all of the duplicates.
instance_or_duplicate

Describe how this feature / enhancement will help you overcome this problem or limitation:
Having either true Instances of nodes or true unique duplicates would prevent confusion, unintentional changes, self inflicted bugs.
Ideally I would like to be able to do something like

  • rightclick on a node in the Scene Panel for the context menu and select "create Duplicate (Ctrl+D)" to create a unique duplicate
  • and "create Instance (Ctrl + I )" (or Ctrl+Shift+D) to create a true Instance of the Node I just created.

If I would want a specific Resource to be shared, by multiple nodes, I would like to Save the resource as a .res for instance, and then load it into any another node (already possible).
This would be intentional driven design for me.

Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Imagine either both color changing and shapes changing in the gif above (true instance) or both color and shape changes stay independent from the original (unique duplicate)

Describe implementation detail for your proposal (in code), if possible:
for me not possible

If this enhancement will not be used often, can it be worked around with a few lines of script?:
Would be used a lot because duplication of nodes is a very common thing in Godot.

Is there a reason why this should be core and not an add-on in the asset library?:
It's about existing core functionality

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions