A downloadable tool

Download NowName your own price

One palette. Two textures. Zero material sprawl.

Dynamic Color Palette is a Blender addon and Godot 4 shader for low-poly and stylized game artists. It generates a structured HSV color palette as a GPU texture directly inside Blender — every face on your mesh points its UV at a cell in that palette. In Godot, one material and one draw call cover the entire mesh, no matter how many colors it uses.


The Problem It Solves

Low-poly and stylized 3D workflows need lots of colors. The naive approach — one material per color — produces dozens of materials and dozens of draw calls. A hand-crafted texture atlas solves the draw-call problem but is tedious to build and painful to iterate on.

Dynamic Color Palette generates the atlas for you, keeps it structured and editable, and handles UV placement automatically.


Two Workflows, One Tool

Multicolor — One material, UV-driven color

All faces share a single material (dcp_multicol). Color is determined by where the UV island sits in the palette texture. The Godot shader reads both textures at the same UV coordinate and resolves color, roughness, metalness, and emission. One mesh. One material. One draw call.

Singlecolor — Baked flat color, dedicated material

For faces that need their own material — so they can be toggled, swapped, or animated independently in the engine — DCP creates a standalone Principled BSDF material with color and PBR values baked in. No texture lookup, no UVs needed. DCP caches these by palette cell so identical colors are never duplicated.

Both workflows coexist in the same project.


Feature Highlights

🎨 Procedural palette generation
HSV grid with configurable columns, rows, pastel saturation, and shadow row; rendered as a GPU texture inside Blender
📐 PBR data texture
A second texture encodes roughness, metalness, and emission strength per cell; three independent quadrants (Solid / Metal / Emission) with their own PBR values
⚡ Emission strips
The emission quadrant is subdivided into vertical strength strips (up to 5 levels), letting you vary emission intensity without extra cells
🖱️ Interactive color picker
Click a cell in the Blender Image Editor to assign it to selected faces or objects instantly; works in Edit Mode and Object Mode
🧹 Material cleanup
Removes unused material slots and orphaned DCP materials in one click; respects Fake User
📦 Auto-export
Four independent export paths (Textures, JSON Config, GDShader, GDScript Util); each can be set or left empty; all files are written on every Generate run
🎮 Godot 4 shaders included
dcp_multicol.gdshader resolves color and PBR from the palette UV at runtime; dcp_singlecol.gdshader computes the palette UV from integer uniforms — supports two palette cells (cell_a_x/y, cell_b_x/y) with a mix_a_b uniform for smooth runtime color blending; exported directly from the Configure dialog — no separate download needed

License

  • Blender addon — GPL v3
  • Exported Godot shader / GDScript files — MIT (free for commercial use)

Download

Download NowName your own price

Click download now to get access to the following files:

dynamic_color_palette-2.1.1-main.zip 64 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.