Unity editor tool
GPU Instanced Painter
Vertex color combiner with a GPU instanced recoloring shader
Four paintable zones in one mesh and one material, so every instance can be a different colourway and still draw in one batch.
Overview
A table has an oak top, painted legs, an apron and brass hardware. Recolouring it per instance the usual way needs a material per colourway, which is exactly what breaks instancing.
GPU Instanced Painter bakes the parts into one mesh, tags each into a vertex-colour channel, and drives four tint colours from a MaterialPropertyBlock. The variation moves out of the material and into somewhere instancing does not care about.