We might've gone a bit overboard for our first game and decided it would be necessary to be able to change every part of character sprites during runtime for maximum customization. Think grid-based, side-view sprites with different body parts and equipment that can be mixed and matched into different types of humans and creatures.
I eventually came up with a "functional" pipeline involving a customized PSD Import script and assigning many many sprites to different sprite part SOs. Each part goes into a body slot and contain a list of animation poses which in turn contain a list of sprites that are bound to a render layer. During rendering, those body parts are sorted out, placed onto SpriteRenderers, then collapsed into a RenderTexture I can manipulate with tint and opacity.
This has been going well so far, but now we hit a new wall when it comes to coloring those different parts (e.g. skin, hair, outfit). I'm not sure how to proceed from here on out and which solution would be easiest. I know it probably involves color masks/maps and shaders but I'm lost.
I tried a quick shader test but I'm either not doing it properly or it's not going to fit well with the painterly-style of our sprites.
Any advice welcomed.