Table of Contents Show
For those who don’t know the tool: Ucupaint is Yusuf Umar’s free, layer-based texture painting add-on for Blender. It organises images, generated textures and colour attributes into layers and masks inside a single shader node group. It works with Eevee and Cycles and gives texture artists a considerably more civilised alternative to building every layer by hand in a node graph that increasingly resembles an electrical accident.
Three cheers for version three!
We have a soft spot for Ucupaint, and yes, it is getting slightly embarrassing. The free add-on has been making Blender’s layered texturing workflow friendlier for years, from the baking improvements in Ucupaint 2.3 to alpha channels and surface-constrained decals in 2.4. Now Yusuf Umar has skipped 2.5 entirely and released 3.0 on 23 October 2026. An appropriately ambitious number for an update that touches the interface, channel architecture, previews, adjustment layers, decals and texture baking. It is the kind of housekeeping that makes an artist smile instead of filing a support ticket.

The important part is not the version-number gymnastics. Ucupaint still works within Blender’s own shader and painting environment, rather than demanding an entirely different application or a pilgrimage through an increasingly mysterious node graph. Version 3.0 makes that existing arrangement considerably more capable. Honestly, a developer who makes normal material work more pleasant deserves a small parade.
The layers have taken over. Sensibly.
The redesigned interface puts the layer list in charge. Channels and less frequently used options move into collapsible panels or popovers, leaving the stack of images, generated textures, masks and modifiers visible where people actually work. The newly automatic Base Layer is particularly welcome: it exposes the underlying channel input values as an editable layer at the bottom of the stack. It cannot be removed, and it means you no longer need a sacrificial extra layer just to establish a material’s starting values. The layer documentation confirms that base values remain accessible from channel settings, too, for anyone who enjoys the old route.
A small-sounding change, perhaps, until a material has twenty layers, a cluster of masks and three rounds of client notes. Then interface clarity stops being cosmetic and becomes a production feature. The input previously labelled Vector is also renamed Mapping, which describes its job more accurately. Terminology: quietly helping people since somebody decided everything should not be called Vector.
Height and displacement move out of their parents’ basement
This is the biggest structural change. Height and Vector Displacement were previously handled inside the Normal channel; Ucupaint 3.0 gives them independent channels. The separation makes bump-height information, actual vector displacement and the normal result easier to treat as different material data instead of a single family argument. Importantly, the Height output still contributes bump detail to Normal by default, so existing layering behaviour is familiar even though the channels are now distinct.

The old Displacement Setup toggle becomes the repeatable Quick Displacement Setup operator. It enables displacement and subdivides the mesh toward a specified polygon count, and you can run it again to judge whether the geometry is dense enough for the intended detail. That matters when a displacement map demands fine relief from a mesh whose polygon budget was apparently negotiated by the accounting department. The new architecture is also a foundation for further work, not a claim that all old displacement setups will behave identically without conversion.
Adjustment layers! Actual adjustment layers!
Another excellent addition is the new adjustment layer. It uses the result from the preceding layers as its input, then applies its own modifiers to that accumulated result. Put one in the middle of a stack and you can tune an intermediate colour or channel value without dismantling the image layers below it. It is the layer-based equivalent of leaving the original paint job intact while accommodating the inevitable request for a slightly different beige.

But: this is a modifier stage working with data from previous layers, not a new external compositing application hidden inside Blender. Ucupaint’s completed 3.0 roadmap identifies it as the Previous Layers approach. It is another practical piece of layer-based painting that keeps look development editable when the art direction changes on Tuesday after everything was approved on Monday.
Previewing without a treasure map
The separate channel and layer preview modes have been combined. One preview system can inspect a channel, an individual layer, its alpha, masks or custom data. That is extremely useful when the final material looks wrong and the suspects include the layer source, a mask, a channel override and possibly the butler. You can investigate the ingredients directly instead of switching between separate preview mechanisms.
Ucupaint also gains spherical and cylindrical decals, contributed by lsmine0. These add projection choices for details on curved objects, which is considerate of the fact that models generally refuse to be flat rectangles. There is still room for artistic decisions about projection and distortion, of course. The add-on improves the tools; it has not arranged for every prop department to supply perfect UVs.
Baking gets organised. Alert the authorities.
The baking refactor is the production heavyweight. Every channel now needs a bake target, but Ucupaint creates one automatically whenever a new channel is added. That avoids turning a useful feature into a new paperwork requirement. You can then give targets their own names, resolutions and other settings rather than accepting one blanket configuration. The former Bake All Channels operation is now Bake Ucupaint Node, with those node-level settings supplying the defaults.
The revamped bake-target system can pack different channels into the red, green, blue and alpha components of an image; the built-in ORM preset combines Ambient Occlusion, Roughness and Metallic data. There is also a DirectX Normal preset, a 32-bit float option for image targets and a colour-attribute target type. Height targets can be normalised, while normal targets can include the Height contribution. Quick Ucupaint Node Setup can establish ORM as the main bake target from the start. In other words, a material can be organised for the target pipeline rather than producing three beautiful maps and then discovering the game engine wanted one.
Ucupaint’s established baking options also include CPU, GPU and CPU with OSL, with the latter intended for complex setups that resist other bake paths. That is not new to 3.0, but it helps explain what this refactor is reorganising. Baked outputs can be moved outside the Ucupaint node for exporters such as glTF or FBX that expect image textures connected to the shader. Nothing glamorous there, until someone is waiting for assets rather than a screenshot of a lovely viewport.
Free, open source and generally delightful
Ucupaint 3.0.0 is free and released under GPL-3.0-or-later. The developer reports testing from Blender 2.76 through 5.3. Blender 2.80 and newer use the main ZIP, while Blender 2.76 to 2.79 need the separate legacy build; Blender 4.2+ users can instead install via Blender Extensions. The extension route has its own Blender 4.2 minimum and does not offer the development branch selector. Ucupaint continues to support both Eevee and Cycles.
For people who want layered PSD import and export, that belongs to Ucupaint Plus, available to eligible sponsors, rather than the free standard package. The core tool remains free, and the jump to 3.0 brings plenty to celebrate without mixing the two editions. Separate channels, saner adjustment layers, useful previews and target-aware baking: someone has been listening to the artists. We like Ucupaint. There, we’ve said it again.
| Product | Ucupaint |
| Version | 3.0.0 |
| Developer | Yusuf Umar / ucupumar |
| Release date | 23 October 2026 |
| Type | Blender texture-painting add-on |
| Host | Blender |
| Renderers | Eevee and Cycles |
| Compatibility | Developer reports testing with Blender 2.76 to 5.3 |
| Installation | Main ZIP for Blender 2.80+; separate legacy ZIP for 2.76 to 2.79; Blender Extensions route for 4.2+ |
| Licence | GPL-3.0-or-later |
| Standard version | Free |
| Optional edition | Ucupaint Plus through sponsorship, with PSD layer import/export |
| Official release | Ucupaint 3.0 on GitHub |




