BATS | PBR Material Creation With Layers

by Joshua Knauber in Scripts and Addons

There will soon be an update, which will overhaul the UI and UX of the addon. With that the price will go up, so get it now!

Blender Artistic Texturing and Shading*

BATS is an addon for blender 2.8, that makes use of Eevee and especially the Look-Dev viewport, to give real-time feedback when creating materials.

Aidy Burrows: 

"A much desired and much required set of PBR texturing tools, very impressive and pretty complex materials can be achieved without even entering a node graph once!! "

Layer system instead of complex node graphs

It adds a layer system with customizable PBR channels, which makes creating materials a different experience. That means there's no need to worry about complex node trees anymore!

The concept is similar to Substance Painter's approach and takes the concept of layers in a 2D program to create materials for 3D objects.

UI and workspaces

The BATS workspaces are designed to give you as much viewport space as possible, so you can focus on what's important.

Eevee for realtime material creation

The viewport uses the Look-Dev view, to give you realtime feedback when editing your materials.

Function overview

The layer system gives you the power of blending modes to combine textures and procedurals into your material.

The layers generate the nodes, so you don't have to worry about complex node trees anymore.

The layer stack gives you information about the content of your layers, to save time and make your workflow as fast as possible.

You have the ability to edit each channel individually for each layer. This enables you to combine the channels in different ways.

You can change the blending mode for the channel of a layer, to achieve different results.

Masks can be procedural or painted with textures. This gives you the ability to mix different layers or channels.

The PBR baking function allows you to bake your layer stack into textures. These can be used in your material for quicker rendertimes or you can import them in your game.

You can choose whatever resolution you need and bake up to what your computer can handle.

If you want more detailed information about how this addon works and what it does, take a look at the documentation tab!

* I can't guarantee a 100% stable addon until the official blender release of 2.8 is out as there are still bugs in the python api and in blender in general. If you encounter issues please contact me (see FAQ) to get this addon as good and stable as possible!



  • Add 2D view option in settings panel
  • Add current layers name on top of editing panel
  • Add opacity value to every channel in editing panel
  • Add option to make Material/Mask tab a dropdown
  • Make two panel workspace the default
  • Renamed viewport settings to workspace settings
  • Always show shader input settings
  • Fixed an issue where the shader input settings wouldn't show up
  • Fixed an issue with baking when selected to active was enabled


  • Added setting for disabling and changing the shortcut for HDRI rotation in the addon settings
  • Added "Use Alpha" option for mask textures. This uses the alpha channel of the texture for the mask, instead of the color
  • Added "Transparent Layers" option in the texture settings. When enabled, a texture mask with "Use alpha" gets added when you add a texture to the color channel of the layer. This is useful for handpainted textures, as it allows for a similar stacking of layers with transparency as in a 2D program
  • Added default visibility setting for the channels in the layer settings
  • Reorganized settings panel with subpanels
  • Fixed layer name in edit panel not updating when renaming the layer


  • Added button in BATS side panel to append the assets so files which don't need BATS are kept cleaner
  • Added option to display constant color directly in the layer view
  • Added blending mode for layers option which will set the blending mode for all channels
  • Added option to add custom image slot to mask node groups by naming the input "IMAGE_nameofyoursocket"
  • Added ID Mask to asset file
  • Set tilesize to resolution when baking (should give speed improvements in some cases)
  • Fixed texture masks not baking correctly