UNIVERSAL - PBR uber-shader

by Samsonov Shop in Materials, Shaders, Textures

Download an offline version here:


1. Appending materials:

To append a preset material into your scene, click File -> Append and select .blend file from downloaded archive. Choose material folder and select materials you want to add to your scene.

2. Creating materials:

To start creating your own materials, append all node groups from downloaded .blend file. For easier use beside main node group “~shader | UNVIERSAL” there’re additional node groups, starting with “~shader | UNIVERSAL | “ with some settings collapsed. You can see what those settings are in the image below:

3. Settings description:

Below you can see a detailed explanation of every setting in the “~shader | UNIVERSAL” node group:


IOR – index of refraction of a material. Defines how much light ray is deflected inside the materials and reflectivity of a material. Higher values mean stronger light refraction and higher reflectivity

Dispersion – defines dependence of IOR from light color which adds effect of white light separation into rainbow spectrum. IOR changes linearly from “IOR” setting (from above) for red light to “IOR + Dispersion” for violet light


True caustics – defines intensity of caustics, generated by Cycles if “Refractive caustics” checkbox is enabled in render settings (I advise you to always have that enabled, because light can continue travelling after passing a transparent material only if that checkbox is enabled; otherwise materials, seen through transparent materials are blacked out). Setting this to 0.0 exclude caustics calculation

Amount – defines intensity of “fake” caustics, which are much faster (but not completely accurate) than true one

Threshold – defines threshold of fake caustics computation. Lower values mean more parts of an object are used to create caustics and lead to overall more intense caustics (useful if “amount” setting is already at 1.0 but caustics are not strong enough)

Distance – defines how far from object caustics can be seen. Made to avoid possible fireflies far from object when using HDRI for lighting


Color – defines color of a light after its absorption in the material (In simpler words – just a glass color)

Thickness – defines at what depth color of an object will become the one set above. This setting implements physical law called Beer-Lambert law which says that light is not absorbing on the surface, but absorbed the more the deeper it travels through the material. Setting this to 0.0 make light behavior the same as in default colored Refraction shader (useful if light is absorbed in a very thin layer of the material)


Color – defines color of a light after its scattering in the material

Thickness – acts the same as thickness for absorption. Setting this to 0.0 enables only Subsurface scattering (SSS). High values enable translucency scattering. Values in between enable both SSS and translucency.

Density – defines general strength of scattering. Higher values mean more intense scattering and hence effectively lower “thickness” setting. Setting this to very high values means immediate scattering almost at the surface and make material acts as default Diffuse shader

Depth – defines number of light bounces after which computationally heavy models of both absorption and scattering are substituted with simple ones (I advice to set it to 2 for most of the times to reduce render times. Higher numbers of light bounces usually mean that light has been already reflected several times and if most of reflections in your scene are not mirror-sharp then you won’t see the difference between accurate and fast models in blurry reflections)


Metallic – defines base color of metal reflection. As opposed to reflections, controlled by IOR setting, this setting controls material conductivity (metallness). Brighter colors mean more metallic material

Edge – defines metal edge tint which can be seen because of dependence of conductivity coefficients from light color. The spread of this color from edge is defined by IOR value: higher values mean farther Edge color spread.

Roughness – defines microscopic heterogeneity on the object’s surface leading to blurry reflections

Anisotropy – defines stretch of this heterogeneity in one direction leading to reflections stretching

Rotation – defines the direction of anisotropy

Fast Fresnel – defines whether to compute Fresnel falloff (responsible for the effect of increasing reflection strength when looking at the surface on grazing angle) as it’s done by default in Cycles (using fast but sometimes noticeably inaccurate approximation) or with more accurate formulae. Setting this higher than 0.5 mean using default Cycles Fresnel. (I advise you to use accurate Fresnel when default one creates darkening in reflections, usually noticed when using scattering)

Coat thickness – defines thickness of a reflective layer in hundreds of micrometers. Values higher than 0.0 trigger so called thin film interference which can be most clearly seen in soap bubble, oil spill or weld seams (rainbow-colored pattern).

Coat strength – defines strength of the thin film interference effect

4. Utility node-groups:

There're 7 additional utility node groups which you might find useful when creating your materials. Their name starts with "~usr | util | "

BIAS and GAIN groups symmetricaly (as opposed to math -> power node for example) remap values from 0 to 1 and have one corresponding parameter. You can see their effect in the article: http://blog.demofox.org/2012/09/24/bias-and-gain-are-your-friend/

REFL TO IOR converts amount of reflection to IOR. Can be useful when working with specularity of reflectance maps

Texture coordinates passed through VECTOR NOISE get distorted which can add a level of detail to textures

COLOR_ANISOTROPY can be used when creating crystals. X, Y and Z colors define color when looking directly at X, Y or Z object axis. When looking not directly colors get smoothly mixed

BIREFRINGENCE is for crystals as well. When X, Y and Z IORs are not the same light rays will be split up to two refracted diferently making refractions look more interesting and sophisticated. See wiki for more details about the effect: https://en.wikipedia.org/wiki/Birefringence

In some future I’ll add images showing how some settings change material appearance. But if you’ve bought the full version of the product you can explore presets for even better understanding. I tried to create materials with as much different settings combination as possible.

If you have any questions feel free to contact me directly: [email protected]