Version 2019.1 (9.1)

Substance Designer 2019.1 brings a new update to the Substance Engine to expand further its capabilities as well as additional new filters.

Major Features

New Value Processor Node

The Substance Engine is now in version 7 and with it brings the new concept of "Values" inside the compositing graph. Values are numbers and not textures and as such can be used to perform various computations that can be shared across nodes via the function graphs and compositing graphs. The Value Processor node can read an input image and compute a single output value.

The Value Processor node is not alone, to be able transit information across graph some changes and additions have been made :

  • Output nodes can be directly fed with a value and not necessarily an image anymore.
  • A new Input node named "Input Value" has been added so that graph can query Values.
  • Nodes now have a new category below their parameters named "Input Values" which can be used to create input values for the node itself.
    The input values can then be referenced inside the function graph via the "Get" nodes.

As with every major Substance Engine change, the compatibility mode is set to the previous version (new version 6 by default). Which means incompatible nodes will have a yellow border in the graph. To disable/hide the yellow border simply change the engine version in the main settings to the latest version (via the Project settings) :

Support of Optix in Bakers

The last update of Substance Designer introduced DXR which allows to perform GPU raytracing on compatible RTX compatible hardware. We now added support for Optix which allows to raytrace on other Nvidia's GPUs even under Linux. You can expect baking at least 5 times faster when using Optix than with regular CPU raytracing.

Here is the list of Bakers affected by this change :

  • Ambient Occlusion From Mesh
  • Bent Normals From Mesh
  • Thickness From Mesh

If you wish to disable one of the two backends, head over to the main preferences (Edit > Preferences) and to the Bakers settings :

To access the feature, make sure to update to the following drivers :

  • Nvidia 10XX and 20XX GPUs : drivers 430.39 (compatible with both DXR and Optix)
  • Nvidia 9XX and older : d rivers 419.67 or 430.39 (drivers 425.31 have an issue with Optix)

Note that DXR is also available on GeForce GTX 10xx GPUs (with up to date drivers). DXR also requires Windows to be up to date for working, see this page for more information.

Improved Loading Times for OBJ Meshes

In this release we improved our obj file reader to reduce the loading time of 3D Meshes. Loading times have been speed up to 3 times, especially for meshes that don't have UVs and Normals defined.

This performance improvement will affect both the Bakers and the 3D View.

Improved Python Plugin System

With this update we added a lot of new feature to the scripting system :

  • Support of Qt : Allows to build custom UI that follows the same style of the rest of the Application. Custom UI can also be integrated much more easily with this new system. (Tkinter is now deprecated.)
  • Callback functions : It is now possible to register callback functions. At the moment it only includes opening and saving files as well as the creation of UI elements. Additional callbacks will be added in the future.
  • Threading : Plugins can now create threads to do background processing or wait for OS events (such as network connections).

For further details, take a look at the changelog of the API which can be accessed via the Help > Python API Documentation menu entry inside Substance Designer.

New Content

We also have a few new nodes available in the default library, some of which are now powered with the new Value processor node :

  • Flood Fill To Index
    Assigns a unique index to shapes from a Flood Fill node.
    In the example below the Pixel Processor node matches the Value Input to the shape and output a mask as a result.
  • Non Uniform Directional Warp
    Applies a Directional Warp where the intensity and angle are sampled from image inputs.
  • Multi Directional Warp
    Warps the input image multiple times into various directions.
  • Height Extrude
    Generates an orthographic 3D rendering of the given Height. The camera view can be controlled with the position gizmo.
  • Min / Max Value
    Returns the minimum and maximum pixel value from the input image.

This release doesn't support CentOS 6.x anymore. To use the latest version of Substance Designer please upgrade to CentOS 7.x.

Release Notes


(Released August 19, 2019)


  • [Bakers] Crash in DXR when aspect ratios of bake output and skew map are mismatched
  • [Bakers] 'Ambient Occlusion From Mesh' baker outputs wrong results with Optix or DXR when using a Normal map
  • [Bakers] 'Curvature' baker outputs wrong results when using 'Per Vertex' setting
  • [Bakers] Error messages state the backend which failed instead of the cause of the error
  • [Bakers] Crash when processing a detail map baker without a high poly mesh
  • [Bakers] Skew map does not appear to affect all the output with DXR enabled
  • [Content] mg_leaks: typo in parameters name
  • [Content] "Shape" returns a cooking warning
  • [Content] Polygon 1 and 2 don't support random functions
  • [Content] Polygon 1 and 2 can have less than 3 sides
  • [Content] Normal to Height HQ does not work correctly in non square
  • [Parameters] Integer input parameters: the drop down list does not show the values


(Released July 02, 2019)


  • [3D View] 3D View export with depth of field enabled looks incorrect
  • [3D View] Alpha channel of PSD images is wrong when using save render
  • [3D View] PNG and PSD are broken when using save render option with Iray
  • [3D view] dds format doesn't work when saving render
  • [Graph] Nodes get offset when combining right and left click drag in specific ways
  • [Graph] Modifying a Function instances no longer updates the node result
  • [Graph] Crash when displaying the Space Bar menu
  • [Content] Shape Extrude: quality issue when shape has no rotation
  • [Content] Shape Drop Shadow (and Grayscale) does not produce shadow without H and V tiling
  • [Content] Material Crop normal issue
  • [Bakers] JSON bakers presets are not loaded correctly
  • [Bakers] Crash when baking heavy meshes using Optix or DXR (now it may fail because of insufficient Vram but it won't crash)
  • [Bitmap Editor] Bitmap painting tools offset strokes and redraws in the stroke bounding box
  • [Bitmap Editor] Bitmap painting tools broken in OSX
  • [UI] Some button's menu are barely reachable
  • [UI] Crash while drag and dropping a baker instance
  • [SVG] Embedded SVG edit tools are unreliable
  • [Parameters] Crash when applying a preset with boolean parameters in a SBSAR instance
  • [Network] Crash sometimes when an error occurred in an SSL encrypted connection


(Released May 28, 2019)


  • [PythonIntegration] Save and restore plugin manager state
  • [Preferencies][Dependencies] Add an option to determine how dependencies file path are stored
  • [Content] Flood Fill Mapper: Add a "Fit Shape BBox" option


  • [Content] Flood Fill Mapper: "Rotation Auto Scale" does the opposite effect
  • [Content] "luminance_offset_map" input is not used by "Flood Fill Mapper Color"
  • [Content] 'Flood Fill Mapper Grayscale' node generates stepping artifacts
  • [Content] Cannot publish Height Extrude
  • [Parameters] Embedded presets in sbsar are not loaded in Designer
  • [Bakers] Baker name is not correctly displayed in the baker list
  • [3D View] "View outputs in 3d View" does not work for values
  • [Cooker] Crash when correcting a wrong parameter type
  • [API] SDResource.setInputPropertyFromId function don't work on SDSBSCompGraph input parameters
  • [Updater] some sbs can't be updated in 2019
  • [Explorer] Crash when importing a specific .obj file
  • [PythonIntegration] Backslashes not properly escaped on windows when initializing PYTHONPATH
  • [UI] value issue with some sliders in bakers
  • [Linux] Designer cannot be run on CentOS < 7.6


(Released May 09, 2019)


  • [API] Add 'updatePackages' parameter to the SDPackageMGR.loadUserPackage() method to control if the updaters should be applied or not on load
  • [API] Add the ability to disconnect a SDConnection
  • [API] Add class SDSBSARExporter to publish a SDPackage
  • [API] Add SDHistoryUtils class to manage undoable commands
  • [API] Add grayscale input node definition in Substance Compositing Graph (sbs::compositing::input_grayscale)
  • [API] Add value input node definition in Substance Compositing Graph (sbs::compositing::input_value)
  • [API] Add SDProperty.isFunctionOnly() method
  • [API] Add support of custom input parameter on SDSBSCompNode
  • [API] Add 'reloadIfModified' parameter to the SDPackageMGR.loadUserPackage() method to control if a package has be reloaded if modified
  • [API] Add SDPackageMgr.getPackages() method
  • [API] Add possibility to get/add/remove root paths from SDModuleMgr
  • [API] Allow getting the pointer of the pixels buffer and the pitch of a SDTexture
  • [API] Allow to retrieve the pointer of the MainWindow
  • [API] Allow to create custom menus in the main menu
  • [API] Allow to create custom DockWidgets in the main window
  • [API] Use object names to find menus in toolbars
  • [API] Provide system to manage application notifications to the API
  • [PythonIntegration] Add default environment variable to look for python plugins
  • [PythonIntegration] Add text search and replace to the Python editor
  • [PythonIntegration] Instanciate Python plugins at startup
  • [PythonIntegration] Take in account PYTHONPATH environment variable
  • [PythonIntegration] Allow creating toolbars in graph widgets
  • [PythonIntegration] Support Python threads
  • [PythonIntegration] Add a Plugin Manager (in the 'Tools' menu)
  • [Content] Normal Vector Rotation: add an optional image input to drive the angle
  • [Content] New Min/Max filter
  • [Content] New "Flood Fill to Index" filter
  • [Content] New "Flood Fill Mapper" filter
  • [Content] New Atlas Splitter filter
  • [Content] Improve Tri Planar filter
  • [Content] New Non Uniform Directional Warp filter
  • [Content] New Multi Directional Warp
  • [Content] New Height Extrude filter
  • [Engine] Fxmap: new "Gradation with offset" pattern
  • [Engine] Support For Uniform value processing (New Value Processor node)
  • [3D View][Bakers] Improve OBJ loader performances
  • [3D View] Increase the camera clip plane distances
  • [Preferences] Add settings for Bakers
  • [Graph] Make invalidation faster by avoiding string comparisons
  • [MDL] Support MDL Arrays
  • [UI] Engine selection UI improvements
  • [IRay] Upgrade to IRay SDK 2018.1.4
  • [Dependency Manager] Use "last path" when relocating a resource
  • [Cooking] Add support of Boolean Labels in the sbsar
  • Integrate Qt 5.12.2


  • [Graph] Connections are broken when changing the name of the input
  • [Graph] Too many invalidations are triggered when tweaking parameters
  • [Graph] "Copy to Clipboard" action don't work if we do the right click on a badge
  • [Graph] Moving a frame using Alt is not stored in the .sbs
  • [MDL] Color profile is not automatically updated in MDL editor
  • [MDL] crash when exporting module that contains a specific setup
  • [MDL] Fail to export a MDL Graph that contains a LightProfile or a MBSDF resource
  • [UI] Shortcuts are no longer displayed in context menus
  • [UI] Floating window becomes dockable after restart
  • [Scripting] Cancel option doesn't work in python editor
  • [Scripting] "yes to all" option in save menu doesn't work
  • [Parameters] drop down list are not displayed correctly after copy
  • [Explorer] Relocating resources should open the last relocated path by default
  • [Library] The content of the library is always rebuilt when switching from one version to another
  • [Library] Imported Bitmaps are invalidated on save
  • [IRay] Tangent space is not computed correctly / incorrect normal mapping
  • [Function] Crash or fail when creating new graph from selection
  • [API] default value of properties is not defined