How to change material of whole level through trigger

Hello all!

In my level, I want to change the material of the whole scene into another after an interaction. As in, the player character gets a memory chip from a chest, then is able to interact with a specific machine which should be the trigger for the material change. Before the interaction, the level should be just white, like the “Copied City” in Nier:Automata:

After the interaction, all actors should show their “real” material.

How would I do that? I am a total beginner so I don’t know where to start.

I’ve watched some tutorials but nothing really fits my problem. The one which gets closest is this: https://www.youtube.com/watch?v=sC2_g3p6rx0

I’ve tried it with a placeholder material but it’s the wrong way around and it doesn’t affect decals. It also doesn’t work with my grass as it can’t use the opacity map:

Any help would be much appreciated!

For multiple meshes in level you doing it wrong (not optimal way).

Instead create single MASTER material. Makes some float parameter like “Transition”. Then expose textures for both states of transition. And linear interpolate between them.

Then create instanced material for each mesh, and apply correct textures. And then either go trough all of materials and change parameter “Transition”.

Or use parameter collection (in master material) expose (use) that “Transition” from collection instead of from parameter in material. Then is matter of changing that Transition in collection.

So TLDR:

  • make master material with Transition, and textures as parameters.
  • make instanced materials, set up textures, apply instanced materials to meshes
  • either animate transition for each mesh, or use parameter collection and change it there

You can also use post process material and volume, and change saturation/colors etc. Not sure if you really need to change materials or just colors of whole scene.

Example of transition material: