I am trying to get Group nodes to work in the Shader Editor. All of the documentation and blogs I've seen say that Group nodes are instanced. I.e. if I create a Group node, it will share all parameters with other identical Group nodes in the .blend file. But that's not what I'm seeing. Group nodes are not instances, parameters are not shared, and I'm left wondering if I've done something wrong.

I create a Group node with Ctrl+G.

I create another copy of that same Group node with the Add menu

I expect the two Group nodes to be instanced, but they aren't. I change parameters on one of them, and it does not affect the other.

Please help.

  • $\begingroup$ I am getting closer to understanding this. Apparently there is a difference between the input parameters exposed outside the Group node, vs. the very same parameters within the contained nodes? I create a checker texture, group it, and the colors on the outside of the Group node do not correspond to the colors in the contained Checker texture. Super confusing. Even if I delete the Input node within the Group, those parameters are still exposed. The exposed parameters are unique to the individual Group node, and they override the internal parameters if an Input node exists. $\endgroup$ Mar 30, 2021 at 23:00
  • $\begingroup$ The noodle connections are premade in some cases and not in others, is what I just found. I'm thinking it has to do with the number of nodes you make the group out of. $\endgroup$ Mar 30, 2021 at 23:02
  • $\begingroup$ Doing things like specifying min and max values of groups is a bit tricky, see this if you're going to be creating extensive graphs - blender.stackexchange.com/questions/207196/… $\endgroup$ Mar 30, 2021 at 23:07

2 Answers 2


Per analogy to geometry instances, an instance can have its individual properties: scale, rotation, location, custom attributes. Similarly with node groups, you define a node tree, and all instances share this node tree, but also have individual properties:

  • position in the parent tree
  • links
  • default_values (the values visible near inputs when there's no link connected - not to be confused with the default value you can set near minimum and maximum for each socket)

If you want to synchronize custom groups, you can use drivers:

Or define those values inside the group:


This dropdown specifies the Node Tree to be linked within.

enter image description here

Check that both of them have the desired tree.

  • $\begingroup$ Thank you, but both Group nodes are linked to the same node tree. The issue appears to be the unexpected behavior of exposed parameters. Apparently the exposed parameters override the internal parameters. The documentation makes no mention of this. In order to get the functionality I need, it's necessary to drill into the Group and change the internal parameters. Additionally, to prevent confusion, I need to delete the ports on the Input node. This is the only way I can find to simply instance a texture to more than one material. $\endgroup$ Mar 30, 2021 at 23:13
  • $\begingroup$ Ohhh, I see what you are saying now. Yes. That is actually part of their functionality, everything inside is instanced, but everything you can access from outside is the Group Node node itself, and not the linked node tree. $\endgroup$ Mar 30, 2021 at 23:17
  • $\begingroup$ So, I actually need to ruminate on this for a while, but I think I can make my answers clearer. Thanks for this. $\endgroup$ Mar 30, 2021 at 23:17
  • $\begingroup$ I have created a feature request blender.community/c/rightclickselect/Jlhbbc I really wish the documentation mentioned how the exposed parameters always override the internal parameters. I can see how that might be useful, but it's not what I expected and I wish someone would have told me about it. This is the only place I've seen where a connection is not really a connection. Ideally it should be optional; do we want Groups to be true instances, or do we want them to allow local variations? $\endgroup$ Mar 30, 2021 at 23:30
  • $\begingroup$ Well, you can define defaults, minimums, and maximums in the n-panel inside the group, but even that process is finicky. See my linked answer in comment above for that. $\endgroup$ Mar 30, 2021 at 23:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .