Version 2019.2 (9.2)

Substance Designer 2019.2 delivers the new Dot node, HDR filters and strong optimizations.

Major Features

New Dot Node

The Dot node is a long awaited request. Its purpose it to redirect connections between nodes to reorganize your graph. Contrary to our previous redirection dot, this one can accumulate links and doesn't disappear when its connections are broken.

To read more about the Dot Node, see the Graph items page.

Improved Node Creation Menu

The Node Creation menu which appears when pressing "spacebar" can now define and list in priority your favorites. Some new behaviors around the menu have been added as well to make it easier to use.

  • Display favorites first
    When clicking on the icon next to the text field, you can enable or disable the listing of favorites first.

  • Add or Remove favorites
    When favorites are displayed, you can add or remove nodes in the list by clicking on the icon next to the node name.
    (Favorites can also be managed directly in the Library window.)

  • Open the menu when click and dragging a link from a node
    When click and dragging the connection of a node and releasing the mouse it will now open the Node Creation menu. The node created will then be connected to the link. The nodes available in the list will be dependent of the incoming connection.

New Techniques for Realtime Renderer

The realtime viewport of Substance Designer has been improved to support new rendering features: Anisotropy, Coating and Subsurface Scattering. All the new channels and usages introduced by these features are compatible with Iray as well.

  • Anisotropy
    Anisotropy is a property that defines how a reflection should behave in a given direction. It is often used for specific material types such as hair and brushed metals.
    To create an Anisotropic material you need two outputs in your graph with the following usages: 
    • AnisotropyAngle: Defines the anisotropy direction. Goes from black to white to loop.
    • AnisotropyLevel: Defines the anisotropy intensity. Recommended values are 0.9 to 0.98 (grayscale).
    Note: Anisotropy is supported by all our default PBR shaders.

  • Coating
    Coating allow to define a second layer of material above the base material. It can be used to simulate car paint or films on metallic surfaces.
    To create a Coated material you can use the new Substance template "PBR Coated (Metallic/Roughness)" or add the following outputs in your graph:
    • coatWeight: Opacity of the coating layer.
    • coatSpecularLevel: Specular Level for the coating layer.
    • coatColor: Color of the coating layer.
    • coatNormal: Normal for the coating layer.
    • coatRoughness: Roughness for the coating layer.
    Note: Coating requires the new shader "physically_metallic_roughness_coated".

  • Subsurface Scattering
    Subsurface scattering simulate the absorption and diffusion of light inside a material. It is very useful for simulating skin and other organic surfaces.
    To create a Subsurface material you can use the new Substance template "PBR Sub-Surface Scattering (Metallic/Roughness)" or add the following output to your graph :
    • scattering: Controls the intensity of the diffusion of light inside the material.
    Note: Subsurface requires the new shader "physically_metallic_roughness_sss" . The scattering color can be controlled in the shader parameters.

All these new rendering features are possible thanks to a rework of the shader system of Substance Designer. Our GLSLFX format now supports the definition of "Techniques" which allows multiple pass of rendering. For some examples take a look at our default shaders available in : Substance Designer/resources/view3d/shaders

Improved Performances

Several improvements to the Substance engine (which jumps to version 7.2.0) have been made which are beneficial in several situations:

  • Caching of graph computations for faster tweaking
    Graph rendering has been improved with the addition of a new caching system. This make tweaking a graph much faster than before because we now skip unchanged nodes.

  • Improved Library loading time
    The loading of the library has been greatly improved thanks to the new cooking optimizations and decoding speed improvements. The library is now 2 to 8 times faster to generate.

New Content with HDR Filters

With this new release we introduce a lot of new filters dedicated to the manipulation of HDR environment maps.

  • HDR Merge: Bring together several LDR (Low Dynamic Range) photos to create one HDR image.
  • Nadir Patch: This node allows you to clone/patch the ground part of an HDRI while taking the spherical deformation into account.
  • Nadir Extract: This node is can extracting a texture out of an HDRI. It can be used to map a ground texture in a 3D scene.
  • Color Temperature Adjustment: Adjust the color temperature of an input image, including the support of HDR values.
  • Straighten Horizon: Rotate the latitude/longitude of an environment map. Depending on the shooting conditions, the resulting 360° panorama might not be straight.
  • Physical Sun&Sky: This node is an implementation of the Hosek-Wilkie Skylight model. Specify the sun position and it will generate a physically accurate sky panorama.
  • Plane Light: Generate a rectangular light as if it was a 3D shape. You can change its position in the 2D view, apply a texture and set the color using a temperature or RGB value.
  • Line Light: Generate a line-shaped light, and change its position in the 2D view. It has similar options to the Plane light except that it is designed for thin long shapes like neon lights.
  • Sphere Light: Generate a sphere-shaped light, and change its position using the 2D View gizmo. You can also apply a spherical texture to create distant planets.

All new HDRI Tools are documented in the Node Library section.

Release Notes


(Released November 26, 2019)


  • [Bakers] Crash when baking using a skew map resource with an invalid link
  • [Bakers] UV sets other than 0 are not taken into account on Embree
  • [Bakers] 'Bent Normals from Mesh' outputs incorrect results with UV sets other than 0 on DXR
  • [Bakers] 'UV Set' parameters are reset to '0' value when reopening baking window
  • [Bakers] 'Position' outputs a black image with UV sets other than 0
  • [Content] Smart Auto Tile: sampling issue in 8k
  • [Content] Atlas Splitter: Shape Detection fails in some cases, precision parameter should be exposed
  • [Content] Pow does not return the right value in some cases
  • [Content] Flood Fill to index: incorrect result when published to sbsar
  • [Library] Crash while loading the session's first SBS package
  • [Library] 'Show Resources in the Library by Default' setting is ignored for resources imported directly into the Explorer panel
  • [Console] Unexpected message in the console when using the node menu
  • [Parameters] Cannot remove single entry in Output usage list
  • [3DView] the scene is not reloaded correctly when the scene file is modified on disk[Graph] Node menu filtering is incorrect when using Value outputs


  • [MacOS] Notarize the software to follow new MacOS Catalina distribution requirements


(Released October 23, 2019)


  • [Graph] Node menu filtering is incorrect when using Value outputs
  • [Graph] Crash when displaying the node menu
  • [Graph] Search tool appears when using shift shortcut
  • [Graph] Crash when consecutively spawning node menus from value input connector
  • [Graph] Comments containing long strings are cropped
  • [Graph] Flow highlight is incorrect when creating a node using the drag from connector menu
  • [Graph] Crash when removing all graph items from scene while loading a different graph
  • [Graph] Crash when using to create node while using click and drag from connector
  • [Graph] Crash while using the 'Node Finder' tool
  • [Graph] Output pin color is incorrect in 'Material Compact' mode
  • [Cooker] Nodes downstream of multi-outputs nodes do not update correctly
  • [Cooker] Issue with Value outputs and passthrough nodes
  • [Cooker] Value Processor outputs wrong results when only a 'Get' node is used
  • [Content] 'Contrast/Luminosity' node outputs an Alpha value of 1.0
  • [Content] 'Studio Panorama' template has no description
  • [Content] Flood Fill to index: incorrect result when the input contains a wrapping shape
  • [Content] 'HDR Merge': internal exposure computation is incorrect
  • [Dot Node] Crash when using a level and a dot node
  • [Dependency Manager] 'Go to' action does not work anymore
  • [PSD] Crash when undoing deletion of multiple nodes which were included in the PSD Exporter
  • [UI] Crash when closing graph using the 'Window' menu and opening one again while one is pinned
  • [Gradient Editor] The 'Remove Key' button is too large
  • [Engine] Precision issue with sqrt() acos() and asin()
  • [Bakers] AO From Mesh: 'Spread Angle' slider has an incorrect value range when tweaked


(Released September 20, 2019)


  • [Templates] Add default input nodes to Specular/Glossiness and to other templates
  • [Templates] Add PBR Anisotropy template
  • [3D View] Increase the Automatic Clip Plane Far distances
  • [3D View] PBR Coated: change default value for Coat normal inheritance
  • [Content] Atlas Splitter: add option for the "Auto Crop" feature
  • [Node Menu] Don't filter nodes without input


  • [Content] Atlas Splitter: some outputs are not cropped correctly when using the "Auto Crop" option
  • [Content] Material Height Blend: cooking error related to inexistent parameter
  • [Content] "Plane Light": pattern UV Mode does not work correctly
  • [Content] "Height to Normal World Unit": input is forced to 16bit
  • [Content] Unexpected shapes when using angular 'Bevel' node with no tiling on small shapes
  • [Library] Icons for sbsar are not visible in library
  • [Library] Using "\" for filtering Url no longer works
  • [Library] Filter values are case sensitive
  • [Library] Search filter does not work when "Compositing" is checked
  • [Bakers] Double-clicking specific cells and dismissing the change reverts them to incorrect values
  • [Bakers] The backend state text in the bakers window always shows 'GPU acceleration : enable'
  • [Cooker] Crash when processing an 'impostor' dependency in a graph
  • [Cooker] grayscale conversion has wrong output size when using value
  • [Explorer] Crash when processing "Publish on Share"
  • [Graph] Crash when opening a specific package
  • [MDL] Crash when using cast operator
  • [Templates] Output identifiers are not correct in the PBR coated template


(Released August 29, 2019)


  • [Content] New ‘Panorama Light’ shapes
  • [Content] New ‘Panorama Nadir Patch’ filter
  • [Content] New ‘Panorama Nadir Extract’ filter
  • [Content] New ‘Panorama Straighten Horizon’ filter
  • [Content] New ‘Panorama Rotation’ filter
  • [Content] New ‘Panorama Position’ node
  • [Content] New ‘Panorama Physical Sun and Sky’ node
  • [Content] New ‘Panorama Gradients’ nodes
  • [Content] New ‘HDR Merge’ filter
  • [Content] New ‘HDR Preview’ filter
  • [Content] New ‘Color Temperature Adjustment’ filter
  • [Content] New ‘Blackbody’ node
  • [Content] New ‘Exposure’ filter
  • [UI] Node Creation Menu: display and manage Favorites in the menu
  • [UI] Add/Remove a node from the favorites from the Node Creation Menu
  • [UI] Node Creation Menu: spawn the menu when clicking/dragging a link from an output
  • [UI] Node Creation Menu: filter the content according to the current selection type
  • [3D View] Support Anisotropy
  • [3D View] Support Coating effect
  • [3D View] Support Subsurface Scattering
  • [Graph] Dot node
  • [Graph] Optimize graph rendering by caching cooking results
  • [Preferences] Change the ‘Cooking Size Limit’ default value to 8192
  • [Preferences] Add a toggle to turn the new ‘Tab’ key functionality on/off
  • [API] Add SDResource.getPackage() method
  • [Iray] Update to NVIDIA Iray RTX 2019.1.3 SDK (317500.3714)
  • [Explorer] Allow to link any type of file as a resource in the Package
  • [GradientNode] Press ESC to cancel the gradient picking
  • [Parameters] Remove automatic Upper case on identifiers
  • [Project] Add an option to specify if graphs and resources are ‘Visible in Library’ by default
  • [Presets] Automatically pin modified parameters


  • [MDL] Can't export module due to parameter type issue
  • [MDL] Exposed int is not visible when loading
  • [MDL] Crash occurring during MDL export
  • [MDL] Crash when modifying color of a material surface node
  • [MDL] void MDLGraphNodeControllerSelector::updateSelectorCurrentMember(const DataMessage& msg) is broken
  • [Graph] Incorrect link thickness in graph display
  • [Graph] Too many invalidations are triggered when tweaking parameters
  • [Graph] Crash when closing a package while two windows of it are open, and using in-context editing
  • [Function Graph] Warning doesn’t appear when closing function view
  • [3D View] Crash on 3D View initialization when camera projection is set as ‘orthographic’ as a default scene state
  • [3D View] Post-FX DOF stays enabled in Iray
  • [2D view] Brush selection window disappears when changing brush size
  • [2D View] Information panel: values are cropped with a specific layout
  • [2D View] The image is offset when minimizing and restoring the main window
  • [Bakers] ‘From Resource’ selection list is not filtered correctly
  • [Bakers] Crash when chaining ‘Color Map from Mesh’ and ‘Normal Map from Mesh’ bakers on Embree
  • [Bakers] Curvature Per Vertex baking results in severe artefacts
  • [Explorer] Can’t import UDIM resources drag and dropping it in explorer
  • [Explorer] Explorer window is not filtered correctly when linking meshes and fonts after linking unusual file formats
  • [Explorer] Resources are visible when graph has ‘show in Library’ set to ‘no’
  • [Content] ‘Pow’ and ‘clamp’ inputs are not in the correct order
  • [Content] ‘RGBA Merge’ node inputs are not labelled
  • [Cooker] Invalid connections of numeric values evaluate anyway
  • [Cooker] Assert when connecting an image input to an input value
  • [UI] Mouse cursor gets stuck in the ‘resize’ state in some particular cases
  • [UI] Right click in package view doesn’t display the correct menu on Linux
  • [Dependencies] File path of temporary resources is not correct
  • [Dependencies] Missing bitmap resource warning stays active after relocation
  • [Library] Some thumbnails are not generated
  • [Library] MDL files are displayed in the library
  • [Parameters] Crash when exposing parameters
  • [Parameters] Crash after recreating a new element in drop down list
  • [Export] 8K batch export fails
  • [Presets] Crash when applying a preset involving booleans in SBS instances
  • [Scripting] ‘Welcome’ screen still appears when using '--quit’ command line argument