Attempting to fade assets in and out between events in my game but unsure the best way to proceed

So I’m currently making a narrative story game that when the player interacts with a certain amount of items in a room that an event would trigger a memory. What I want this to be is essentially the same room but some of the assets in the room would have different transformations or just not be visible.

Currently, I’m using level streaming to trigger between two states in c++ but I wanted more of a transition between the states like a gradual fade of the opacity for each mesh similar to something like this we prototyped - https://streamable.com/xwx8ef

I’m researching the possibility of possibly having a reference to each mesh I’m going to change within one class and then trigger a fade but I’m really not 100% sure so I was wondering maybe if anyone had any recommendations? :slight_smile:

You should have a manager class that keeps track of the remaining interactions required before the next flasback. When the time comes, this manager will fire off delegates (event dispatchers if you are using BP) to let objects know that it is time to either fade in or fade out. Obviously, these objects should register to the delegate, could be in BeginPlay() or something like that. When an object recieves the “start fading out” event, you can use a Timeline component to control the opacity of its material.