Server actors gone after servertravel but Server character is in game

Hi,

I have setup a VR game where I spawn a Character head (static mesh) and the two motion controllers.

I’m hosting and joining the game with Character 1 on PC1 and then join the game with Character 2 and PC 2. That works perfect without any issues.

If Character 1 starts a servertravel to another level both Characters join the new Level.

BUT now head and motion controllers for Character 1 are gone. - Character 1 can see head and controller of Character 2 in the new level but neither Character 1 nor Character 2 can see head and controller of Character 1.

That actually worked a few days ago. Here my wild guess: I exchanged PC 2 wich is way faster than before. Now I can see that PC1 and PC2 are both joining the new level at the same time, mostly PC 2 (Client PC) is joining the new level faster than PC 1 (Host). It happend ones that PC1 was slower and suddenly I did see controller and head of Character 1.

Maybe coincidence maybe not. I tried 10 hours to narrow it down but I have no idea whats going on. Even going back to earlier commits of my game has now the same effect.

Is that even possible? Any ideas? Thanks!

I was able to test with another PC. If the new PC has to load shader while servertravel and therefore joins for sure later as the server. The server PC keeps controller and head. Worked for all of my five level. If I load a level again where the new PC has already loaded all shaders and has basically the same loading time, than the controllers of Server PC are gone.

Any chance to let clients join later?

Found a workaround. In my Player Controller on Event BeginPlay I check if I’m a client. If so I wait 2 sec. This gives the server enough time to enter the game first. That solved it for me.