Me acercaría a esto usando un sombreador personalizado en mis SpriteRenderers que toma dos texturas, una para cada versión entre la que desea hacer la transición.
(Incluso si utilizo este efecto para hacer la transición entre más de dos estados, aún trataría de estructurar el juego para que solo necesitemos dos para renderizar en cualquier momento: el estado anterior y el siguiente. Dejaremos que esa transición juegue hasta su finalización antes de dejar que el jugador inicie una transición a un tercer estado, momento en el cual podemos reemplazar nuestro estado "antiguo" anterior ya que ya no es visible)
Este sombreador se desvanecería entre las dos texturas, utilizando una tercera textura de un solo canal como máscara para el efecto (por ejemplo, negro = 100% de estado anterior, gris = 50/50 de mezcla, blanco = 100% nuevo estado). Mapearía esta textura de máscara en el espacio de pantalla.
Luego, configuré una segunda cámara para renderizar a RenderTexture, para generar esta máscara. Esta segunda cámara se movería con mi cámara principal y coincidiría con su tamaño FoV / ortográfico, por lo que cualquier animación en mi opinión se aplica tanto al mundo como a la máscara reveladora de manera consistente. Esta cámara se renderizaría antes que mi cámara principal y se configuraría para ver solo contenido en una capa de "revelado" especialmente designada. En el ejemplo de video, parece que usan un sistema de partículas para esparcir una colección de pequeñas formas de nubes en esta textura reveladora, que se expande con el tiempo, dando a la transición un borde de expansión de aspecto orgánico.