If you’re making a Minecraft style world, then I’d just use material instances, which is where you have a master material with some value (like a color) set as a parameter. When you make a material instance of it, you can modify the parameter by itself without having to construct whole new materials for each.
In a Minecraft style world, there’s not that many different blocks at one time, it should have good performance by combining draw calls for the ones that use the same material instance.
The method of making a color swatch wouldn’t be a good option since you’d need a unique mesh for each block due to having to have specific UV mapping for each.