A downloadable tool for Windows, macOS, and Linux
Material Maker is a procedural materials authoring and 3D model painting tool, based on the Godot Engine. Materials and brushes are defined as graphs where nodes create or transform textures, and can be exported for the Godot, Unity and Unreal game engines.
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 shaders.
Material Maker is available for Windows, Linux and MacOS.
The source code is available on GitHub, as well as the online documentation. Github is also where you can report bugs or suggest new features.
Material Maker also has its own subreddit, and its Discord server and this is where you can ask (and answer) questions.
You can also share the awesome materials you created on the Material Maker website.
Materials you can create
Material Maker can be used to create several types of materials, and new custom material types, as well as new export targets for existing materials, can be added if needed.
- Static PBR material: this is the most common material type, and exporting it will generate a few textures (albedo, metalness, roughness etc.) you can import in your favorite game engine
- Dynamic PBR material: a PBR material with motion, that will be exported as a shader (and optional textures).
- Raymarching material: a raymarching scene inside the mesh it is applied to, exported as a shader.
- Dynamic unlit materials are also exported as shaders and can be used to create all sorts of VFX.
Features as of version 1.0
- A simple texture generation engine that defines a very small set of node types (shaders, buffers, node groups, image, text, switch...) that can be connected to describe procedural textures. The engine does not generate an image for each node, but combines shaders until it reaches a buffer node or the target Material node (textures described as combined shaders are resolution independent).
- A painting engine that can paint albedo, roughness, metallic, emission, normal map, depth and ambient occlusion components of a 3D object's material at the same time, use generated shaders as brushes and can map patterns on brush, screen or texture space. The painting tool supports multiple Paint, Procedural and Mask layers.
- A website dedicated to sharing procedural materials and brushes.
- A base library of ~200 nodes that define shapes, patterns, filters and transforms on textures, as well as 2D and 3D shapes described as signed distance functions. Those nodes can be accessed from the Library panel or the nodes context menu of the graph view.
- New group nodes and shader nodes can easily be created using the user interface (creating shader nodes require some GLSL knowledge).
- A graph view where material graphs are edited, with several available material types (Static PBR, Dynamic PBR, 3D PBR, Raymarching, Unlit).
- For all material types, exports ready-to-use materials for the Godot and Unity game engines. For Unreal 4, manual setup of the material is necessary, Material Maker only generates image files and shaders. For Unreal Engine 5, Material Maker generates a python script that must be executed in Unreal to automatically build the material.
- A hierarchy view that shows the hierarchy of group nodes in the current material.
- 2D preview panels that shows the textures generated by the selected nodes and can export the result, as a single image, or as several images or a spritesheet for animations.
- A 3D preview panel that shows the current PBR material on a model. Basic shapes (Cube, Sphere...) are available and custom models can be loaded in .OBJ format.
- An Histogram panel that shows the current node's output tonal distribution.
- A Reference panel where images files can be dropped and that can be used to pick colors and gradients.
Pay what you want
Material Maker is free and open source, but it is still possible to help the project in many ways.
- If you don't feel like paying anything, just click the "No thanks, just take me to the downloads" link when prompted for a donation. You can still help the project by submitting awesome materials on the website, reporting bugs, suggesting new features, or even contribute code on Github.
- You can, of course, donate when downloading. Thanks a lot for doing so.
- If Material Maker is really useful to you and you wish to contribute more, I have a Patreon. Backers have Discord benefits, and this will help me spend more time on this project.
- If you want more tutorials, Arnklit (the guy who creates awesome video tutorials for Material Maker) has a Patreon as well.
Translation files can be installed using the Download button in the Preferences dialog.
If for any reason this does not work, you can download the translation file manually and use the Install button instead.
- Chinese translation (Created by free_king)
- If you have problems running Material Maker on MacOS (or any other platform), please contact me on Discord
- If you want to run a 32 bits version of Material Maker 1.0 under Windows or Linux, you will just have to:
- download and install the 64 bits version
- download the 32 bits version of Godot 3.4.4 for your OS from here
- in Material Maker install dir, replace the executable file with the 32 bits Godot executable
- you now have a 32 bits Material Maker
- For any other problem, please don't hesitate to contact me on Discord
|Updated||22 days ago|
|Platforms||Windows, macOS, Linux|
|Tags||designer, godot-engine, material, pbr, Procedural Generation, substance, Textures|
|Code license||MIT License|
|Asset license||Creative Commons Zero v1.0 Universal|
|Average session||A few minutes|
|Links||Source code, Documentation, Discord server|
Click download now to get access to the following files:
- Material Maker 1.2p130 days ago
- Material Maker 1.266 days ago
- Material Maker 1.1Oct 25, 2022
- The calm after the stormSep 11, 2022
- Material Maker 1.0Jul 22, 2022
- Material Maker 0.99Apr 10, 2022
- 2022, funding, macOS port and random rantsFeb 03, 2022
- Material Maker 0.98Jan 23, 2022
Log in with itch.io to leave a comment.
I didn't found a node permitting me to have a value of 0 until a given offset and a value above. So, I created a custom node "offset" (Should be "step", but that name is already used) with this output:
There's a comparison operator in the Math node.
For anyone wondering, in the math node, you can pick A<B and set A to $uv.x and B to your treshold.
If you want a vertical line that is centered, use abs($uv.x-0.5).
For an horizontal line, replace "x" by "y".
And thanks for your guidance!
Material Maker 1.2 crashes on startup, during the splash screen
Specs: Windows 11, i5-11400, Radeon RX6600, 8gb ram
Is it the first time you run it? Did you use previous releases successfully?
Yes, I have used 1.1 on a previous pc, and 1.2 before on my current pc. It was probably the new radeon driver update that broke it.
Before the driver update it worked fine, after the update it broke.
This. This is the good stuff.
Tessellation does not seems to be working by enabling tessellated in mesh configuration, Is there something else I needed to have done?
Do you use displacement materials?
Yes, I just found how to switch materials from a Pavel Oliva tutorial, but still thank you.
And also now, toggling tessellated works on all meshes except for the cube. Tessellating the cube freezes the editor and I have to force close the application after an hour.
Coming from Substance Designer, this is excellent!
Is it possible to export just the .png from the export node. Sometimes I need just the image and not the material as a whole.
I guess it's possible to create an empty export target. You can also export any texture from the preview panel.
This is super cool, thanks!
I may be missing something, but it's not clear to me how to correctly import exported files from MM into Blender, and I don't see it mentioned in the documentation. Is that described somewhere? My end goal is to export for Godot but I want to use Blender to preview and adjust my models with the materials applied first.
You must create the material in Blender using the generated texture. The "Node Wrangler" plugin can be used to do this in a few clicks.
Is there any hope for glTF support in a future update?
Or potentially .blend support so that we can import the model and materials from Blender? That'd be amazing, though I'm sure very complicated.
Of course there is, as soon as MM is based on Godot 4. And it's not very complicated I guess, just waiting for Godot. ;)
Was that whole thing just a lead up to En attendant Godot joke?
Nice. Very nice :D
Also happy to hear, since glTF is going to be super important for my workflow, and I really like using material maker!
Please don't hesitate to contact me on discord so I understand what you need exactly. Maybe I can do something before migrating to Godot 4 (I absolutely don't know when it will happen), and this could help me anticipate future glTF related features.
This looks amazing. I'll definitely be checking this out when I get back to making 3D games!
I've messed around with Substance Designer in the past. I must say, MM is excellent! Minus a few nodes, you can follow SD tutorials pretty well with this. Wonderful job! Looking forward to the next update!
Hii, I am keen x, the developer of Don't dare to decay and scarlet space. I just want to ask if you have scarlet space.zip if yes please send it to me through discord Please it's urgent
Love the tool. Are there any plans to add graphics tablet support? It's very difficult for me to paint on the model with a mouse. It would be much easier with a pen.
Hi! Painting with a graphic tablet (with pressure and tilt support) is already supported. Could you please contact me on discord so I can investigate the problem?
I think I see the problem. I'm on Ubuntu 22.04 and the tablet/pen is not detected in the Settings menu (which I think uses libwacom). However it does work in apps like GIMP and Blender, I think cause they have native support. I tried to update libwacom myself, but the libraries don't work on newer versions of Ubuntu, so I might be stuck. I'm using a Huion Q11K.
Hi, I have used MaterialMaker several times but since a few days ago for some reason when I start the program, it loads for a few seconds and crashes and that's why I have not been able to use the program. Do you know by any chance why this happens?
This could be caused by corrupted config files. In that case, removing (or renaming) the material_maker directory in C:/Users/yourusername/AppData/Roaming should solve your problem.
ty! it did work. Good job btw
Thank you so much for mac support!
Just to provide an update for anyone maybe wanting to use the win32 hack - it doesn't work.
I guess you have to download Godot 3.4.4, now (didn't actually test it, though).
(edit) Tested it and updated instructions.
I tried that - it didn't work. 32 bit systems are old and probably aren't capable for this software.
this is fantastic but please, please make the active are on the node-outputs and inputs larger. It's c4D-level of aggravating how pixel-perfect you have to click on the circles.
This is actually amazing, you have done a lot for the game dev community!
I tried an export of an example (animated cracked floor) to unreal 4.27, I only get textures, no material
Unfortunately, there are manual operations necessary for Unreal. Everything is described in the doc. I need to write an unreal plugin to make this completely automated.
Thanks a lot for this amazing tool you're giving us :) I can clearly see this becoming a serious concurrent to substance designer. Amazing job mate.
Please make GLES 2.0 compatible.
Unfortunately, you won't do much with Material Maker without a decent GPU (all it does is generate and execute shaders).
You could still try to run from sources (you can easily switch to GLES2 in Godot's top right corner).
good job keep on the good work. :)
This looks like so much fun, but 0.99 does not start at all on my mac. I get "“material_maker.app” is damaged and can’t be opened. You should move it to the Bin." Any ideas?7
I wrote a devlog about running MM under macOS. You should find the answers you need. Otherwise, please don't hesitate to contact me on Discord, I'll try to help you.
The error also used to happen in "Pixelorama". but it's now solved there (see https://github.com/Orama-Interactive/Pixelorama/issues/516)
This will be solved in 1.0, Material Maker will be signed and notarized. Please don't hesitate to join us on discord if you wish to test it before release (there's a dedicated channel).
thats amazing! If I could pay I totally would! thanks for making this!
It worked fine for me on Mac, I downloaded the DMG using the Itch app and installed it just fine. Great alternative to substance designer, will definitely use this, thanks again!
pretty cool, only thing I could suggest or would be nice is `brew install material-maker`
I unfortunately don't have a Mac (yet?), so everything macOS related is pretty difficult for now.
ahh, that's too bad. I just tried to install and running into the damaged error. I attempted to do what you recommended but it still won't work for me. I'm on Mac OS Big Sur Intel Processor. Looks like a great application though. Let me know if you find another workaround.
Hmm did you try what's explained in the macOS related devlog? What happens when you do?
Please don't hesitate to contact me on Discord so I can try top help you. ;)
Ya I tried that command and pasting the application, same thing. Saying it's corrupted and I should eject. Even turned off Gate Keeper to see if that would help. No luck. Hopefully you get a working Mac version soon. Let me know if you do.
Lovely tool, thank you!
Please add the ability to disable texture filtering in the 3D Preview - useful for creating pixel art textures :)
super cool tool and definitely a great alternative to substance designer!!
Sadly it doesn't support 32 bit system for Windows.
Please read the Troubleshooting section above. 😉
Thanks I didn't read/saw it, but if it's that simple, then why don't you just do that and provide a 32 bit download?
I could have understood it, if you would only provide 1 download option and tell us how we could easily change the version to our need, but providing multiple versions and for your own comfort, not doing what you tell us to do, if we want/need a 32 bit version, is in my opinion lazy.
You just got yourself a DudesLazy Badge for being lazy, which you can obtain once I have anything published that contains Badges. 😉
Providing a 32 bits version would mean I'd have to test it and I don't have a 32 bits Windows to do so.
but if the 64 bit version works, why should the 32 bit version not work
Are you suggesting I should provide untested software ? 😉
Good program... but it is crashing often for no reason other than I edit some nodes that are not even that heavy...
Beware, MM creates combined shaders when connecting nodes, so combining 3 or 4 non non-heavy nodes can generate a heavy shader (and unfortunately, it's not possible to catch those problems gracefully).
I'm planning features to analyze, predict and fix performance problems, but I'm not sure they will be available this year.
Anyway, if you can provide step by step scenarios that lead crashes, please don't hesitate to contact me on Discord.
Okay by the way, you can find this name and tag = > Sekaus#1504
Is there a way to expose specific values and sliders like in Filter Forge for ease of use?
Or, is that on the to-do list?
Do you want to gather the main parameters of your graph into a specific location?
Instructions for mac to unlock
xattr -d com.apple.quarantine /Applications/material_maker.app
I couldn't get a 32 bit windows version of MM??...
Hi! I just added a solution for you in the "troubleshooting" section of the project description
It doesnt work for mac, i waste my money
Hi, could you please describe what happens when you try to start Material Maker so I can try to provide a fix? Please don't hesitate to join the discord server so we can chat and find a solution.
Thanks a lot in advance.
I open the dmg file, I copied the material_maker app to my hard drive, I open the file and it says “material_maker” is damaged and can’t be opened. You should move it to the trash.
I have never had a message like this.
What should I do
Thanks for this information. I will investigate this issue later today and come back to you when I have a solution.
Did you try what's described in that devlog when installing? I'm not sure it is the fix for that problem, but it could help.
OK, just checked and it seems the xattr command in the devlog I mentioned in my previous message will work.
In case the xattr command fails because the mounted volume is read-only, you may want to duplicate the volume and use the copy.
Did my answer help you run Material Maker under MacOS?
Detailed photoreal materials can be made with MM.
when I think prepare a tranlation.csv then i can do some setups ,but the fact is i only can input local word and interface still English.....QAQ
material maker should be available for mac also
I cannot test a MacOS port. If Mac users help, this can happen.
how can we help?
Please join our discord server, and say hi in the #macos_port channel. I'll be able to spend time on this later today...
i have joined your discord and applied for mac port test
I really wanna use material maker in a mac.Please help
i say MM is powfull software ...yes!
em......why I open this site every day?
Dunno. A very bad addiction maybe... 😏 Please be patient, 0.96 needs a bit more work. And time.
ok maybe you can improve the operation .i think node socket is not easy to click and link......becase that point is too small...
That's because you unzoom the graph. If your graph is too big, you should start creating node groups.
I cannot really change that behaviour, it's provided by Godot (and the connect zone is already bigger than the default one).
BTW, we really have to find another place to communicate, this one is really not convenient. If you can suggest one...