I’m doign in C++ but in Blueprint (4.9) it will be the same.
To reset to the original material, you just have to read the default value of your object on the object and SetMaterial with it in parameter.
To read default object, you need to wait for 4.9 as defaultvalue has just been promoted to Blueprint in 4.9
Yes, we solved one year ago, hopefully.
Save all materials and associated meshes to a struct at the beginning of runtime, then you will have the opportunity to reapply the correct indexed materials.
That’s the result: