Load Substance Painter texture set as a neat group


I created a small add-on to load a set of substance painter textures with very few mouse clicks. It goes a bit further than Node Wrangler load multiple images in that you only need to select one image from the set, sets the non-color data attribute for non color textures and orders the textures in a neat frame with descriptive names for the textures nodes themselves.

it might not be the most innovative add-on ever written but I find it quite a time saver and the layout of the nodes makes for a much more 'readable´ material. Some examples:

Details and download instructions on my blog.


– Michel.

1 Like

thanks, this is exactly what i need :slight_smile: can you share the shader blend file too :slight_smile:

the PBR node group that is visible in the video is from Blackheart Films: http://www.blackhartfilms.com/blog/a-simple-pbr-shader-nodegroup-in-blender-3d

Small enhancement published. It now restricts the initial list of textures to Color. Much less clutter if you have a lot of texture sets and since you only have to click one to get the whole set anyway, this might save you some time.

I have to learn where substance painter fills a gap for blender. Is it uv mapping and texturing? My main question though is how do you import textures from the substance painter texture"library" into blender? As well, do you unwrap in blender 3d and send the map to substance or can I import the texture and do the unwrapping and texturing in blender? Or do you send the model to substance, unwrap and texture in substance painter? And then send back to blender for rendering? I have sp2 blend which I don’t know how to use. Should I get PBR-Ubershader? Thanks

If you go to the substance painter forum and search for my post there is info there.

@bkjernisted: your question is a bit of topic for a coding forum but i’ll give it a try :eyebrowlift2:

substance painter is a program to paint textures on to a model. The end result of that action is a set of texture files that you can import into Blender, that is, you can create for example a Cycles material with Texture nodes that point to these textures.
But it always start with unwrapping your model in Blender.
So your workflow will typically look like this:

[In Blender]

  • create your model
  • unwrap your model
  • export your model (typically as an .fbx file)

[In substance painter]

  • create a new project
  • import your model
  • paint your textures onto the model in 3D
  • export the textures

[In blender]

  • create a (Cycles) material on your model
  • add Texture.Image nodes that refer to the exported textures

when you work in Substance Painter you will paint all texture information simultaneously (color, normal, glossiness, …) and when you export you will export all of them. Connecting 4 or 5 textures will all sorts of clever nodes to get a proper physics based render material is a lot of work and that is where tools like PBR-Ubershader step in: they provide a complete mode group where you plugin those exported textures.
You would still have to uv unwrap your model and paint those textures in Substance Painter of course.

Hope this helps,


Oh man, this looks like a great timesaver. Thank you!

@Hammers you are welcome but please note that i only created the small texture import add-on but the PBR node is by Blackheart Films so kudos to him for that very useful node group

or, if you were refering to Substance Painter as being the time saver (which it totally is :eyebrowlift2: ) note that it is not a free product (unless you are a student and can prove it) but the indie-license of approx. $150 is totally worth it IMHO (if you can afford it of course)

Thank you varkenvarken. I will spend some time learning this process. Much appreciated!

No I was genuinely just excited by your texture importing addon approach. I own and use Substance a bit, as well as 3d-coat (might work for that too perhaps), and this is a real tidy solution to that repetetive texture setup schamozzle :slight_smile: Thanks again!!

Small update to include any ambient occlusion maps as well.


– Michel.

@Hammers: should work for 3d-coat and quixel and the like IF the use some regular name scheme. I just own Substance so I have no way to test it but let me know if you see ways to improve the add-on for use with other progs.

Added an option to add full node setup including the new principled shader. Details (+ code and short demo video) in this blog article.


– Michel.



Your addon is great :yes:

Just one click and “hop” the node is built . . . Quick and easy.

Congrats …

Hi Michel,

great timesaver!

But it doesn’t work with .jpg for me.

etc. works!

The same Filenames with a jpg extention doesn’t work.

Only the basecolor and the normal node are generated.
Only the basecolor is in the frame, the normal node stands alone.

Blender 2.78.5
nodeset - 201706251223


This is great. Getting the same as post #17, it’s only importing the color map. I’ve had an idea on how we could bring the loop tools - bridge command into this picture. I’ve spent the past year speeding up the initial setup processes that takes place on every model.

See here I’ve already connected a lot of wires and values ahead of time and I adjust from there. Leaving the only real repetitive work being connecting these six wires and turning the non color datas on. I tend to cheat and only do that for the normal map as this is such a repetitive thing. What if the bridge command knew to connect these in 1 click. That would speed things up as well. Food for thought.

I’ll look into the jpg issue. I never use jpg for textures for fear of compression artifacts but there is no reason not to support it, as often you don’t have a choice if you download from a texture repository .

@dr congo, forgive me my ignorance but what loop tools are you refering to? We are not talking mesh modeling here, or are we?