Changing texture on character problem

Hi ive been struggling with making my characters texture changable. I got it working kinda…
When i modify the character this happens:

If i exit and enter the customazation level he looks fine and has the correct appearance.
But when i change the skin color nothing happens until i modify the morph tagets.
Then it looks like theres another mesh with the correct color underneath.
I kinda suspect the problem is im creating a bunch of new material instances
on top of each other. But i dont know how to do it the right way. I havent been able to
to figure out how to call and modify a existing material instance from the widget.