For Substance 3D Painter 10.1+

Design smart materials. Generate the Painter pipeline.

Pick a theme - stylised or realistic; sci-fi, damaged, clean, rusted, stone, fabric and more - tune every PBR channel, and export a Substance 3D Painter Python script that builds the whole layer stack, plus procedural base maps. Design once, generate the material.

Every PBR channel base color, roughness, metallic, normal, height, AO, emissive, opacity Real Painter material a Python script builds the layer stack in Painter, not a fake file Free to start design, base maps and spec sheets cost nothing

100% free · no account · no login · runs in your browser

smart-material-studio / rusted metal (stylised)
Base Color
Roughness82%
Metallic0%
Height50%
AO80%
4 layers+ masks
Features

A material pipeline, not a texture toy

28 physically-based materials

Stylised and realistic base styles across a researched library: verdigris copper, patina bronze, blued and damascus steel, galvanised zinc, carbon fibre, brushed titanium, glowing lava rock, wet cobblestone, snow, moss and more - correct metal albedos, metallic-vs-oxide roughness, wear in the right places.

Every PBR channel

Base color, roughness, metallic, normal, height, ambient occlusion, emissive and opacity - the metallic-roughness set Unreal and Unity expect, tuned per theme.

Painter Python export

Export a .py that rebuilds the layer stack in Substance 3D Painter 10.1+ - folders, fill layers per channel and generator masks - via the layerstack API.

Base maps & per-engine export

Export base color / roughness / metallic / normal / height / AO PNGs, or a whole per-engine texture set in one .zip - Unreal, Unity (Standard/URP & HDRP), Godot or glTF - with the right channel packing (ORM / MetallicSmoothness / MaskMap), normal convention (DirectX vs OpenGL) and import notes.

Spec sheets & presets

Every channel value and layer documented in a printable spec sheet, plus a reusable preset - standardise materials across a team or a project.

3D viewer & HDRI lighting

Preview the material in real 3D on a sphere, shader ball or your own glTF model, lit by a studio environment, day/sunset/night skies or an HDRI you drop in. Orbit, exposure and auto-rotate.

Tune every channel

Nudge roughness, metallic and normal strength, or set the base and emissive colours - live overrides that flow into the maps, the 3D preview and the exported Painter script.

Hand-paint your low-poly assets

A dedicated full-screen 3D Painter: drop in your own model (.glb, .obj, .stl - no UVs needed, it auto-unwraps), then paint with eight tools - brush, fill, eyedropper, smudge, blur, clone stamp, gradient and image decals - with per-stroke roughness/metallic, blend modes and Wacom pen pressure. A projection brush paints across UV seams, a relief brush sculpts height that lights up, and radial/kaleidoscope symmetry, layer groups, mesh-aware edge-wear + AO shading and true mirror-X round it out. Flat/wireframe/pixel views for the low-poly look, or mask the 28 smart materials onto the mesh. Save whole projects, and export the painted maps, a per-engine texture set or a textured .glb for Unity, Unreal or Sketchfab. Try the 3D Painter →

Built-in AI assistant

Describe the look in plain English - "weathered bronze, a bit rougher", "tint it copper with a cyan glow", "blend toward mossy stone", "show it in 3D" - and the Studio assistant sets the controls for you. It steers the app; it won't invent materials or fake a .spsm. Works offline with a built-in rule-based fallback.

How it works

Three steps to a material in Painter

1

Design in the browser

Pick a theme and base style, review the channel targets and the layer recipe. Watch the lit preview update live.

2

Generate the script

Export a Painter Python script that encodes the whole stack, plus base maps and a spec sheet you can keep.

3

Run it in Painter

In Substance 3D Painter 10.1+, run the script from the Python menu. It builds the folders, fills and generator masks on your active texture set - a real, editable material.

Straight talk: we don't fake a .spsm

The Substance Painter smart-material format (.spsm) is closed - Adobe publishes no spec, and it can only be authored inside Painter. Any browser tool claiming to export a drop-in smart-material file is promising something that cannot work.

So we do the honest, more useful thing: generate the Painter Python script that builds the real material inside Painter, using the layerstack API (Painter 10.1+). You get an editable, layered material on your own mesh - not a dead file.

Two things to know: mask generators (Metal Edge Wear, Dirt, ...) reference shelf resources that must exist on your machine - the script searches for them and falls back to a plain mask when one is missing; and the procedural base maps are baked, mesh-unaware textures - a base layer, not the smart material itself.

Free

Completely free. No account, no catch.

Every feature is free for everyone - no sign-up, no login, no trial, no paywall. Nothing to install and nothing is uploaded: it all runs in your browser.

Runs entirely in your browser · no account, no upload, no cost.

FAQ

Questions, answered

Can it export a .spsm smart material?

No - and neither can any browser tool, honestly. The .spsm format is closed and can only be authored inside Painter. Instead we export a Painter Python script that rebuilds the layer stack inside Painter 10.1+, so you get a real, editable material.

Which channels does it cover?

The full metallic-roughness set: base color, roughness, metallic, normal, height, ambient occlusion, emissive and opacity - what Unreal and Unity expect. Each theme sets targets for every channel.

What are the base maps for?

They're procedural PBR maps you import into Painter as a starting base layer. They're baked, mesh-unaware pixels - a head start, not an editable smart material. The Painter script is where the editable material comes from.

What do I need to run the script?

Substance 3D Painter 10.0 or newer (the layerstack API is 2024+), a project open with a mesh, and the mask generators on your shelf. The script searches for generators and degrades gracefully when one is missing.

Is it really free?

Yes - completely free, with no account and no login. Every feature is included: the full theme library, all PBR channels, the 3D Painter, per-engine texture export and the Painter Python-script export. It runs entirely in your browser, so nothing is uploaded.

Can I see the material in 3D?

Yes. The app has a 3D viewer that applies the generated maps to a sphere, shader ball, cube, cylinder or plane - or your own .glb/.gltf model - and lights it with a studio environment, day/sunset/night skies or an HDRI you upload. Orbit, exposure and auto-rotate are built in. It needs WebGL; where that's unavailable it falls back to the 2D map preview.

Can I paint on the model?

Yes - it is a proper little paint studio. Paint your material onto the mesh in a multi-layer stack (each layer its own mask, opacity and visibility), with soft/hard/spatter/noise brush tips, mirror symmetry, undo/redo and save/restore. It is mesh-aware: bake curvature + AO from your model and one-click fill the real convex edges or cavities. Paint in 3D or in the flattened 2D UV view, then export the mask, the composited maps, or a packed ORM engine set. Honest limits: it is a browser preview of a masked layer stack with approximate baked AO, not a replacement for Substance 3D Painter - the deep work still lives in Painter, which the generated script sets up.

Are you affiliated with Adobe?

No. Substance 3D Painter is an Adobe product; we're an independent tool that generates scripts and references for it. No affiliation or endorsement.

Learn

Guides & tutorial

How to design materials, script Painter and get the PBR channels right.