A downloadable tool for Windows and Linux

Download NowName your own price

Material Maker is a simple procedural materials generation tool, based on the Godot Engine. Materials are defined as graphs where nodes create or transform textures.

Most nodes are defined as GLSL shaders, and when connecting them, Material Maker will generate combined shaders (instead of rendering an image for each node). It is also possible to create new nodes either by combining and grouping existing nodes, or by writing your own GLSL generators.

The source code is available on Github, as well as the online documentation.

Please don't hesitate to report bugs, suggest new features or send screenshots of the awesome materials you created with this tool!


Download NowName your own price

Click download now to get access to the following files:

material_maker_0.6_linux.tar.gz 27 MB
material_maker_0.6_windows.zip 24 MB
material_maker_0.7_windows.zip 24 MB
material_maker_0.7_linux.tgz 26 MB

Development log

View all posts


Log in with itch.io to leave a comment.


First of all I want to greet you and thank you for your work in material maker is a good tool.
but note that the normal map generator works with the inverted X axis.
in software such as blender it will be a bit strange to apply the normal map.
I checked a bit and applied a simple change to the NormalMapPostProcess node.

(1 edit) (+1)

Thanks for your comment. I'm not a Blender expert, but reading this, it seems Blender uses its own normal map format. Blender sure deserves its own option, that will be added for 0.8. :)

If you're aware of other normal map formats, please don't hesitate to mention them.


I was already checking in other programs such as godot, ue4 and unity3d with their corresponding formats and the same thing happens, the x axis is inverted (-x).


Excellent ! I'll add more options in 0.8.

There will also be a new channel swap node that can be used to convert to any additional format.


this is by far one of the best free softwares i have found on this site


Thanx a lot ! Please don't hesitate to tell me what you don't like or what's missing in Material Maker. That's how it will improve!


Very nice tool  - will certainly come in handy!!
One question regarding the user interface - any chance of getting the Blender style "click in a field and drag right/left to change value" fields?
At the moment input fields can be changed by entering a value or clicking the up/down arrows - those arrows are a bit of a pain for playing around with value changes. 
From using Blender I found that  those click-and-drag input fields make work a lot easier.
Then again - that might just be me.
Keep up the good work!!  

I think you can drag the arrows up and down to change the value, but I must admit I don't like that widget. I'd like to use the same widget for all float values, but this one is too annoying for everything you'd like to change quickly, and the horizontal slider is just awful when you need to set a precise value.
Not sure when I can code this, but I really like your suggestion.


Hmm that was easier than I thought. :D

Great - thanks. I think that makes  playing around with values a lot easier!! And the text input allows you to be precise or copy values.


it's so useful, thanks! and keep on the good work! love making secondary normalmaps with it :)


I really like Material Maker!

I have a few questions.

  1. Is there a way to restart the rotation of the material preview?
  2. In the documentation see a Blur node listed, but where is it? 
  3. How does the Custom Shader work?

1. Not in this release. But there will be a button for this in 0.7.
2. It was removed in 0.6 (due to major refactoring) and will be back in 0.7.
3. This really needs documentation (not only about how to write custom shaders, but also about how Material Maker works with shaders) and I'll write this soon. Anyway, many nodes are implemented as shaders, so you can select one, hit Ctrl-F and use the pencil button to see how it is implemented.


Are there any instructions of a possible export-import to actual Godot projects from Material Maker?

There is an old release of Material Maker in the Godot AssetLib. If you want to test it, just install it, activate the extension, and click the "Material Maker" button in the top right corner of Godot. In this integrated version, File->Export will generate a SpatialMaterial .tres file that you can use directly.

The new one (0.6) is not integrated yet in Godot. There's progress in the export_plugin Github branch, but I'm not satisfied with it yet. It will be available in the AssetLib whenever it's ready.

If you use 0.6, exporting a material generates a few png files. Then you will have to create a SpatialMaterial in Godot, use ..._albedo.png for albedo, ..._orm.png for ambient occlusion (R channel), roughness (G) and metallic (B), ...depth_texture.png for depth,  ..._normal_texture.png for normal map and ..._emission.png for emission.



I got a bug (I think it is a bug) on export it hapens nothing. 

When I click or press ctrl+e it hapens nothing. Do you have any idea?

I'm on a windows 10 Intel based CPU.

Thank you!


It exports directly where the file is saved! Thanks


This is so cool!


Can it export to ktx by any chance, or just png?

Only png for now.


Can i suggest more map types to export, subsurface scattering maps, is a big one I don't see  a lot of programs featuring it.

Adding new maps would (will) be a piece of cake. Thanks to Godot, I can add textures for Rim, Clearcoat, Anisotropy, Subsurface scattering, Transmission and Refraction.

But first, I have to understand what they are used for. :p


in Simple Terms, Subsurface Scattering Maps are Mapping of how color of an semi translucent material should change when light affects it.  the most common example being human skin turning a pinkish color when light is shining. (ex. 


A very, very nice tool with nice examples to learn from, that gives you very nice textures in no time.

Just keep going that way, great tool !

Thanks for your feedback. Please don't hesitate to suggest new features, I don't have enough new stuff for a release right now. ;)