How to make different actors fade in and out without adding opacity to all their materials?

In my top-down game, this is how I’m handling room transitions:

Basically, when hovering the mouse on whatever indicates there’s a door, it shows the door mesh, and when character overlaps the door trigger, it shows the mesh, opens the door, then reveals the room behind it.

I want the reveal to not be instant, so when I hover the door, it fades in, and when overlapping it, the whole room fades in. when hiding, they should also fade out.

I don’t want to use opacity in materials, as it’s expensive, it removes the metallic option, and most of all I’d have to change every single material in my game.

what would be a better way to do so? is it possible to add some sort of overlay translucent material to everything, that kinda of adds on top of the existing material?

so my thinking is that upon revealing my hidden doors and rooms, game would apply this overlay transparent material to all actors in that room, then set those actors to visible, while still transparent with that material underneath, and the material would then start adding opacity, but revealing the actual original material of all meshes underneath.

is this possible? or are there other ways to achieve this effect?