How to change everything(Player,material,Enviroment,gameplay logic and etc) during gameplay?

I want to change Everything like Giana Sisters: Twisted Dreams game(
Giana Sisters: Twisted Dreams Gameplay (PC HD) - YouTube (around minute 1 to 1:20))
but I do not know how to do it and the best way to optimize it?

The player can have 2 meshes that you can switch when you activate it, as for the world you’d probably need to work with animations for the different objects and timelines. For materials you can use the create dynamic material instance, and then set the parameters. This might be a good way to start thinking about what to do. Hope I helped a bit. goodluck

Thanks. it helped but my problem is The world. Do I have to make Switch Animation for every Actor or Object in my world If i want to Switch between them? this takes lots of performance