I have a large mesh that's a combination of hundreds of submeshes. Each of these submeshes have unique vertex colors assigned to them. In my shader, I would like to lerp all of the vertex colors of these submeshes to pure white, over a bunch of frames. One solution would be to do the lerping in C# and re-assign all of the vertex colors each frame, but that gives me a noticeable performance hit on mobile. Is there a way to do the lerping in a shader, so that each frame the shader itself changes the vertex colors? Or are vertex colors read-only when a shader accesses them? It should be noted that not all submeshes lerp their colors at the same time, so it's not as simple as doing a simple lerp-to-white over all the submeshes at once. That's why I have to rely on their vertex color data to keep them separated. In the game itself all vertex colors are set to black by default, then at various points in the game, a random submesh gets its vertices assigned a color. The idea is that once the shader detects an rgb value greater than 0, it starts lerping that submesh's verts to white. Is this possible?