PBR Painter


PBR Painter v1.1 beta has now been released and is available for download, along with the current release version (v1.0.4). You are encouraged to try this version out (there are some pretty amazing new features!) but please remember that this is a beta version and therefore may contain some bugs. 

Otherwise, I hope you enjoy the new features! See the changelog section at the bottom of the screen for a video on what’s new in this version.

Please note that PBR Painter is currently compatible with Blender v2.91.


PBR Painter is a simple yet powerful addon designed to enable quick and easy PBR texture painting within Blender. It uses a layer-based, multipass painting approach which lets you paint all of the components of a PBR texture (base color, roughness, height, normals etc) simultaneously. Textures can be created from scratch, or by importing pre-made PBR texture maps, or both!

PBR Painter automatically generates complex node setups that allow you to have complete control over every component of every channel, allowing you to combine normals of stacked layers, control the opacity of any component of any layer and much more. This gives you complete freedom over all aspects of the material properties, without ever having to create a single node.

Main Features

Appearing in the texture paint tools, PBR Painter has an extremely simple and intuitive layout. The image below shows the complete addon interface.

The PBR Layers box shows active layers for the material, which can easily be hidden, moved, added or deleted, using the set of buttons on the right.

The PBR ChannelsID MapMasksTexture MappingOther Principled BSDF Inputs and Deleted Layers contain everything you need to make complex and ultra realistic looking textures.

The tools available are described in-depth in the following tutorial video:


and in the written documentation:


As an overview, the panels have the following functionalities:

PBR Channels: Lets you select which PBR texture maps (base color, metallic, roughness, normals, height, alpha and/or ambient occlusion) you want to import to paint onto the texture as a PBR layer. Alternatively, textures can be created from scratch by selecting single values (e.g. a single color) to paint onto the texture.

You can also change the opacity of each PBR channel separately, allowing you to blend layers together or remove channels from a layer completely. You can also opt to merge normals here, whereby normals of the current layer are automatically merged with the underlying texture using a mathematically-derived method. Finally, the height scale, height midlevel and ambient occlusion strength can also be accessed in this panel.

Below shows a granite rock texture being painted onto a Suzanne head, which is defined by an albedo map, a roughness map, a normal map and a height map:

ID Map: Here you can import and use an ID map for the material. ID maps are color-codes maps that let you specify which part of the material you wish to paint for a given layer, which is much more efficient than setting up several materials for a single mesh.

With PBR Painter, you can easily import then visualize an ID map on your mesh, letting you quickly select which region you wish to paint. The images below show the visualization of an example ID map on a Suzanne head, demonstrating how the central head region can be isolated for painting the granite rock texture:

Masks: The masks panel allows you to add an alpha map and/or a procedural map to the current layer. Alpha maps can be imported directly, meaning you can either download one or make one yourself. Procedural maps can be visualized on the mesh and fine-tuned to suit your needs:

Texture Mapping: Lets you adjust the scale, location and rotation of any imported maps.

Other Principled BSDF Inputs: Here you can access every other input to the Principled BSDF, which can be changed as necessary for the active layer. Opacities for these inputs can also be adjusted as above.

Deleted Layers: As the name suggests, lets you store up to 10 deleted layers to be restored as an active layer at any time.

When you are happy with your texture, all visible layers can be merged together using a smart baking approach, whereby all of the required maps are baked sequentially to reproduce the entire material using a single merged layer. This method automatically detects which PBR texture components are non-constant across visible layers and bakes these accordingly.

Customer testimonials and artworks

David (graphic designer/artist):
 I‘m really enjoying PBR Painter. The UI is very well thought out and the workflow is super efficient and easy to get to grips with quickly…. If you’re looking for a simple new way to expand your skillset and optimize your texturing workflow, give PBR Painter a shot. It’ll be your new favorite toy in Blender! 

BelowEevee render submitted by David, textured using PBR Painter:

Roadmap and changelog

Please note that by purchasing PBR Painter you will have access to every update that is released, forever and for no extra cost.

Also, when installing a new version, please remember to always uninstall the previous version completely, then restart Blender before installing the new version. 

Follow me on twitter (@PBRPainter) for regular updates and notifications of new releases. 

New features available NOW in the v1.1 beta:


  • New option to paint a procedural texture for each separate PBR channel (noise, voronoi, musgrave or wave), with tools to tune/scale/rotate these as necessary
  • Additional mask options (procedural noise, voronoi, musgrave or wave) that can be used in combination with all currently available masks
  • New autosave feature which, when turned on, automatically saves modified textures periodically, to avoid accidentally losing work
  • New duplicate layer button
  • Optional color ramp node when using a roughness, specular or metallic texture, for fine-tuning the texture (e.g. make a roughness texture more glossy)
  • Box mapping now available for imported textures, with access to a seam blend slider for creating seamless materials
  • New bake button to be used for baking the current material textures without having to use the merge visible button
  • Improved naming of baked textures to be more specific and streamlined
  • Option to adjust normal strength for each layer individually
  • Bump mapping available as an option in single pass layers
  • New button to instantly invert any color ramp in the addon. 


  • v1.0.4:
    • Fixed bug that was occasionally causing an error when switching between paint and erase, or when adding a layer
    • Introduced the option to change the blend type between layers, for each channel in a layer, as per video below:

  • v1.0.3:
    • Reduced dependency on internal operations for better compatibility with future Blender versions
  • v1.0.2: 
    • Release version


How will I be notified of any updates?

Follow me on twitter (@PBRPainter) for all version updates, notification of new videos etc.

Can I recommend additional features or improvements to the addon?

Yes! I welcome and very much appreciate any feedback and/or suggestions you may have.

It is my goal to very actively manage this addon, which means constantly updating it according to the feedback I get.

You can contact me directly via email at [email protected] or over twitter (@PBRPainter).

How do I report bugs?

Please report any bugs by emailing me directly at [email protected] I will endeavour to include any bug fixes with the following version update.

My material has turned solid pink! Is this a bug?

No, this is not a bug. It is a limitation on the number of image textures that can be displayed with Eevee using material preview mode.

If this happens, you can either hide some layers as you work on additional layers, or use the merge visible button to merge all visible layers to a single layer.

I have a question that isn’t answered here or in the instructional video. What do I do?

Contact me with any questions you may have, either via my email at [email protected], or over twitter (@PBRPainter).

You must log in and be a buyer of this product to submit a review.