Preserve MPC values across level load

I have a “Team Colors” material parameter collection which I allow the user to modify in a “main menu” level. However,
when I load a different level, the values all reset to their defaults.

I am aware that you can make variables persistent by placing them inside of the game instance. However, the documentation states that it is much more efficient to use a MPC than it is to create many material instances and assign the parameters individually. Since I would need to do this for every object that displays team colors, storing color variables in the game instance instead of an MPC sounds like a bad idea.

Is there a way to preserve material parameter collections across level loads? If not, what is the best remedy for this situation?