Principled Shader: Rename "Specular" socket to "Specular Level" to prevent confusion


I’ve posted the suggestion below in two other places already, before realizing that this forum might be the best place for it. So, sorry for the triple posting, this is just an idea trying to find its home…

During a lengthy exchange between me and the author of a recent commercial Blender addon called Super Texture, it came to light that the addon author had misunderstood the nature of the specular input of the Principled Shader. As a consequence, he had plugged non-PBR specular values into the specular socket in his addon. This mishap happened to him due to the fact that he erroneously transfered his understanding of realtime PBR to Cycles. Furthermore, I myself did not understand the specular input before the exchange, and only came to understand it after some investigation.

Then, a few days later, I stumbled upon another Blender addon, called Blender Addon PBR. In this one, its author incorrectly assumes that you can simply plug the specular map from a spec/gloss workflow into the specular input of the Principled Shader.

These two occurrences lead me to conclude that the specular input of the Principled Shader is in general quite prone to being misunderstood, either as input for specular maps from older, non-PBR workflows, or as input for specular maps from the spec/gloss PBR workflow.

I therefore propose renaming the socket to “Specular Level”, which is the term used in the Substance tools, see here.

I also propose adding a new hint box under “Specular” (or “Specular Level”) on the Principled Shader page in the Blender docs. Here’s some text for the hint box:

Do not confuse this value with specular values from non-PBR workflows; these are most likely completely different things.
Furthermore, do not plug specular maps (also known as reflection maps) from the spec/gloss PBR workflow directly into this socket. This socket’s value only applies to dielectrics, does not support color data, and has a different range.


In some software this control is labeled “reflection” instead, or “reflection level”. This might have the same issue with non-pbr reflection maps though.