Eu abordaria isso usando um sombreador personalizado nos meus SpriteRenderers que usa duas texturas, uma para cada versão que você deseja fazer a transição.
(Mesmo usando esse efeito para fazer a transição entre mais de dois estados, eu ainda tentaria estruturar o jogo, de modo que precisamos apenas de dois para renderizar ao mesmo tempo: o antigo e o próximo. Vamos deixar essa transição funcionar até a conclusão antes de deixarmos o jogador iniciar uma transição para um terceiro estado; nesse momento, podemos substituir nosso estado "antigo" anterior, pois ele não está mais visível)
Esse sombreador se desvaneceria entre as duas texturas, usando uma terceira textura de canal único como máscara para o efeito (por exemplo: preto = estado 100% antigo, cinza = mistura 50/50, branco = estado 100% novo). Eu mapeia essa textura de máscara no espaço da tela.
Então eu montaria uma segunda câmera para renderizar em uma RenderTexture, para gerar essa máscara. Essa segunda câmera se moveria com a minha câmera principal e corresponderia ao seu tamanho FoV / ortográfico, portanto, qualquer animação na minha opinião se aplica ao mundo e revela a máscara de forma consistente. Esta câmera renderiza antes da minha câmera principal e é configurada para ver apenas o conteúdo de uma camada "revelar" especialmente designada. No exemplo de vídeo, parece que eles usam um sistema de partículas para espalhar uma coleção de pequenas formas de nuvens nessa textura reveladora, que se expandem ao longo do tempo, dando à transição uma vantagem de aparência orgânica.