Plugin for building MaterialX Graphs in Substance Designer 2020.1.
Note, this is a beta version and it's not ready for production use yet.

Installation and usage instructions can be found in the file doc/ in the package.

A video getting started tutorial is avialble here:

v 0.1.4

* Added Painter Template and Sample
* Corrected painter shader so specular color affects non-metallic materials instead of metallic ones
* Corrected Painter Normal map tangent base to adapt automatically for the baked normals
* Added html documentation
* Added support for upcoming changes to MaterialX master preserving 1.37.1 compatibility

Full changelog available in the package

Uploaded: 4 months ago
Updated: 2 months ago
Version: 5
File Name: substance-designer-material...
Size: 10 MB


4 months ago

"sduserplugin" folder default install folder name is "sduserplugins"

4 months ago


4 months ago


4 months ago

@Barecore, good catch. I'll update it for the next version!

4 months ago

Ignore the layout in the previous response. The message was incorrectly formatted to show exactly how things should NOT be :)
MaterialX should be a subdirectory od sdmatxplugin and nothing else

4 months ago

Hi David, I tried yet before, but same error

4 months ago

I do not know why, but if I do all according to, both MaterialX and sdmatxplugin are with errors under Plugin Manager. If I look into console protocol, I can see that sdmatxplugin do not see MaterialX. I t is ok. But MateriaX can not find "MaterialX.PyMaterialXCore". So it means that MaterialX is not "install" correctly. Is somewhere manual how implement MateralX correctly to SD? Is need some python 3 or another else? Anyway MaterialX console errors:

[ERR][2987][Python]Traceback (most recent call last):
[ERR][2988][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\MaterialX\", line 1, in
[ERR][2990][Python]from .main import *
[ERR][2991][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\MaterialX\", line 3, in
[ERR][2993][Python]from .PyMaterialXCore import *
[ERR][2996][Python]No module named 'MaterialX.PyMaterialXCore'


sdmatxplug console errors:

[ERR][2997][Python]Traceback (most recent call last):
[ERR][2998][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\", line 66, in
[ERR][3000][Python]raise BaseException('MaterialX not found')
[ERR][3003][Python]MaterialX not found

4 months ago

From the error it looks like MaterialX is directly in the sduserplugins. It shound be in the directory sdmatxplugin where the plugin is located.
The directory should be

4 months ago

I do not know why happen this:
[ERR][704][Python] File "C:/Users/xyj/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\", line 88, in initializeSDPlugin
[ERR][707][Python] File "C:/Users/xyj/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\", line 47, in _buildMDLFiles
[ERR][709][Python]content = sdmatx.mtlx2mdl_library(m, 'shared', mtlx_search_path)
[ERR][710][Python] File "C:\Users\xyj\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\", line 801, in mtlx2mdl_library
[ERR][712][Python]if isNodeSupported(node_def):
[ERR][713][Python] File "C:\Users\xyj\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\", line 96, in isNodeSupported
[ERR][715][Python]nodeTypeSupported = mtlx_nodeDef.getType() in mtlxToMdl_types
[ERR][718][Python]Nodedef: TestSuiteOptions has no outputs

4 months ago

remark3dcz: What version of designer are you using. It looks like it tries to load materialx but it fails which might be related to being on 2019 where the python version 3.6

4 months ago

Your issue should be fixed in the updated release. Sorry for the inconvenience

4 months ago

Thank you!

4 months ago

Thanks Dave, I did how you desribed, but still different errors:

[ERR][2994][Python]Traceback (most recent call last):
[ERR][2995][Python] File "C:/Users/xboxp/Documents/Allegorithmic/Substance Designer/python/sduserplugins\sdmatxplugin\", line 74, in initializeSDPlugin
[ERR][2997][Python]import sdmatx
[ERR][2998][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\", line 1, in
[ERR][3000][Python]from .paths import getDataDirectory, \
[ERR][3001][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\python\sdmatx\", line 6, in
[ERR][3003][Python]import MaterialX as mx
[ERR][3004][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\MaterialX\python\MaterialX\", line 1, in
[ERR][3006][Python]from .main import *
[ERR][3007][Python] File "C:\Users\xboxp\Documents\Allegorithmic\Substance Designer\python\sduserplugins\sdmatxplugin\MaterialX\python\MaterialX\", line 3, in
[ERR][3009][Python]from .PyMaterialXCore import *
[ERR][3012][Python]No module named 'MaterialX.PyMaterialXCore'
[WRN][3013][Default](0): QSqlDatabasePrivate::database: requested database does not belong to the calling thread.
[WRN][3014][Default](0): QSqlQuery::prepare: database not open

3 months ago


3 months ago


3 months ago


3 months ago


2 months ago

Will there be a Mac version? Or is there a work around?

2 months ago


It works on mac but unfortunately there are no compatible MaterialX binaries available for it at this point. We hope to find a solution to that down the road to make it more smooth to use it but at the moment you need to compile it yourself.

about 1 month ago

2020.1.3(10.1.3) 安装失败

25 days ago

Hi, David!
Could you please clarify, what is the correct way to work with textures here?
So far I was able to connect textures (creating texture_2d sample with link to packaged texture, then gamma correct it, for basecolor), without getting any errors referring to MDL conversion.
However, I still can't use normal maps. I'm connecting texture sample to vector3 converter, or image_vector3 sampler, but I'm always getting the bad shading in viewport. If I connect normal map from the sbs graph, I get the MDL error, but shading is correct.
Also, can you clarify what purpose does a sbs graph serve? Why do I need to point at it on export, if there is no way to actually use its outputs? (MDL conversion error pops up and blocks the export)

There are a number of questions related to texturing in there. If you adhere to the rules in the videos and you should be fine.
I.E Always reference textures through usage attributed (Resources and sbs instances in the graph only works for iRay anyway). Always reference the normal map through a sampler and not a vector3/color or resource. Then route it through the algnormalTStoWS. When referring to it in the wrong way there is occasionally an automatic tangent space to world space conversion happening for iRay meaning which will not be there for the other renderers.

The floor sample and painter sample in the package shows how to correctly bind textures

21 days ago

Great, thank you!