Page MenuHome

Node Socket Name Change results in Cycles Material Rendering Black (name is also identifier, should be read-only?)
Confirmed, NormalPublicKNOWN ISSUE

Description

System Information
Windows 10
Intel Core i7-5820k 4.1GHz
2x Nvidia GTX 970

Blender Version
Broken: 2.79 5bd8ac9

Short description of error
If you change the name of a Node Socket (not the socket's identifier) of a Cycles Shader Node during execution of a python script, Cycles will render the Material black.

Exact steps for others to reproduce the error
Download the blend file below:

Run the code in the text editor.
Switch to viewport preview.

To fix the problem, simply reset the two nodes, or add a new Material Output Node and a new Principled Node to the Node Tree. Connect the new nodes together and delete the old ones.

Event Timeline

Brecht Van Lommel (brecht) lowered the priority of this task from 90 to Normal.Nov 26 2017, 4:09 PM

The socket name is also the identifier, so you should not change it.

This is supposed to be read-only I think, though maybe it's needed to be able to change group nodes.

This issue is part of a deeper problem. Sockets are not uniquely named. Unlike everything in else in Blender, multiple nodes can have the same socket names (even the same node can have the same socket names). I don't think this is good or consistent behavior. There's three things that could solve this issue...

  1. Socket Names (or maybe identifier's instead) follow the same unique naming conventions as datablocks and structs within Blender.
  2. You can no longer change Socket Names. Or, allow the user to change socket names as long as you...
  3. Disassociate the socket name with the socket identifier. This is not clearly outlined in the Python API, as the Socket Identifier is a 'unique", read only property for mapping sockets, and the name property is just the name. Most structs in Blender have this "name" property. It should behave the same way, consistently throughout the software.
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Known Issue".Feb 10 2020, 1:25 PM

Can reconfirm, still an issue.

From @Brecht Van Lommel (brecht) 's comment, I will assume this will count as "Known Issue" for now, should be rectified though...

@Jacques Lucke (JacquesLucke) : will CC you here, not sure if this is also an Issue with Particle/Everything Nodes?

Philipp Oeser (lichtwerk) renamed this task from Node Socket Name Change results in Cycles Material Rendering Black to Node Socket Name Change results in Cycles Material Rendering Black (name is also identifier, should be read-only?).Feb 10 2020, 1:25 PM