I havent gotten to test it yet. But i was trying to do the same thing. But i was trying to get the material 'type' from copper cube and then set up the material to match as close as possible. so if you had it set to solid, it would be diffuse, normal, specular. If it was lightmap , the diffuse. Lightmap, normal,specular. , also have sphere map, and transparent sphere maps working. But it seems Cc only use shader 2 or 2b ? Because im hitting instruction limit (in a single shader) it seems. Your approach seems much more practical. Lol
Sam