Page MenuHome

Geometry Nodes graph can't be copied onto a separate object without linked behaviour (Make Single User has no effect)
Closed, DuplicatePublic

Description

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 511.23

Blender Version
Broken: version: 3.1.0 Alpha, branch: master, commit date: 2022-01-25 23:03, hash: rBc4bedeb0186b
Worked: N/A

Short description of error
Say you have an object with Geometry Nodes, and an animated "Value" within the Geometry Nodes graph.
If you duplicate this object then "Copy Geometry Node Group" to separate the Geometry Nodes graph from the original object, you cannot separate the animated "Value" from the original object.
Meaning if you change the animated value on the original object, it always changes on the copy too.
"Make Single User" has no effect, and both values are still linked to the same object.

Exact steps for others to reproduce the error

  1. Add Geometry Nodes to the default cube.
  2. Add a "Value" slider to the Geometry Nodes graph.
  3. Animate this slider using two keyframes.
  4. Duplicate the cube with SHIFT + D.
  5. On the duplicated cube, press "Copy Geometry Node Group" to separate the second instance of Geometry Nodes from the original cube.
  6. Try to change the "value" slider in any way without modifying the original cube. "Make Single User" has no effect.

This becomes a huge issue in larger node setups. You can't copy a Geometry Node graph and have them animate separately to the original.

In the attached blend file, see if you can separate the "Value" slider in any way.
Notice how if you delete the "Value" slider, it ruins the original object's animation.

Event Timeline

Hallam Roberts (MysteryPancake) renamed this task from Cannot "Make single user" on Geometry Nodes, meaning you can't duplicate Geometry Nodes without linked behaviour to Geometry Nodes graph can't be copied onto a separate object without linked behaviour (Make Single User has no effect).Feb 4 2022, 12:09 PM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Feb 4 2022, 12:21 PM

Can confirm, seems like they still share the same Action (even though it is ticked in preferences):

@Bastien Montagne (mont29): we had this for regular shading trees in the past, too, right?

Data duplication is a fairly weak piece of code in ID management yes... lots of (bad) history and assumptions there, and very poor generic/automated handling that forces every new case to be dealt with manually. :(

Will have a look.

Not sure I understand... I am assuming you are using the 'double file' icon in the ID widget of the geometry node tree? Any reason why you are not rather using the 'make single user' button (the user number one)?

Current behavior is the same as when e.g. copying vs. 'single user' buttons in the material widget in the properties editor... 'Make single user' does also duplicate the animation of the affected ID, while 'duplicate' (or 'new') keeps the same action for both copies.

In any case, afaics code is working as expected here. Naming of the 'copy' button in the geometry node case is fairly confusing and inconsistent compared to the same option for shader nodes etc., but this is a User Interface and Geometry Nodes issue, not a Core one.

Not sure I understand... I am assuming you are using the 'double file' icon in the ID widget of the geometry node tree? Any reason why you are not rather using the 'make single user' button (the user number one)?

Ah thanks, I didn't realise this button existed. Instead I was using the "Make Single User" command under "Object > Relations", as this works for Shader Nodes.

I was more wondering why the "Make Single User" command does not seem to affect Geometry Nodes as it does with Shader Nodes?

I tried each of the options available:

I think other users will run into the same issue in the future, as the command is far easier to find than the button.