Recording the materials goes a bit like this
and playing them back, like this
AllMats is an array of ComponentMaterials struct.
That is a map of static mesh component, and MaterialList. And MaterialList is a struct, which is an array of material interface object refs
Totally untested. I don’t think you need the actor refs, because you have the components.