Change gamemode during level streaming

Hi, i am developing my own VR project with UE 4.27.1
My project have 4 levels (Lobby, SubGame1, SubGame2, SubGame3).
They have their own gamemode includes their unique code. (also they are different cpp class)

Now, i’m trying to implement level changing with streaming-level.
“OpenLevel” is so laggy when loading that it occurs VR motion sickness.
Therefore, i tried a level streaming to make project can travel seamless-ly.

But there are no way to change gamemode at runtime, so engine crashes when i try change level with streaming.
So, I think i can solve this problem with just custom actor class.

  1. Making four different new actor class which has the logics of original gamemode class.
    The logics are delegate, gamerules, member variables and so on.
  2. Then, main gamemode (lobbyGM) has the four actor ref.
  3. Put each actor on their level (lobby, subgame#).

I want to ask you the error of this method or the better solution of UE pro.