In Round-Based Games Player Disconnects/Sudden Leaving Cause Freeze between round end and round start

Summary

Issue Report: Engine Failure to Handle Sudden Player Disconnections/Leaving.
The core problem lies in the game engine’s inability to correctly manage players who abruptly leave the session, whether due to a disconnection or by using the in-game “Leave” button.
Observed Symptoms:
Lingering Assets: When a player leaves suddenly, their character model remains visible in the game world, appearing as an active participant.
Inaccurate Player Count: The player counter (typically near the minimap) still registers the absent player as present.
“Bugged” Round Transitions: The game struggles to advance from the round-end screen to the start of a new round, resulting in a 10–15 second freeze or hang.
Reproducibility:
This issue is primarily observed during sudden disconnections.
It sometimes occurs even when players use the standard “Leave” button in the menu, but this is inconsistent and difficult to reproduce accurately.
Suspected Root Cause:
The issue likely stems from a flaw in how the engine’s core logic handles player session state changes (leaves/disconnections), failing to properly invalidate and remove leftover data or entities.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Character

Steps to Reproduce

The bug involves disconnection/sudden leaving .

  1. Have 3 players ( one on mobile preferably)
  2. Disconnect the mobile player but do not kill him
  3. Observe that he is still in the game
  4. Kill the other PC player , the mobile player still present .
  5. Kill mobile player and proceeded to load the next round ( here the game freezes for up to 15 seconds between round end and round start)

I will link the videos demonstrating how this happens and also a video where the transitioning between the round end to round start happens correctly( in this case i only used a non-leaving pc player to demonstrate how fast round transitioning should occur as a reference point)

Expected Result

The player should be immediately removed from the game but he is still present and affects the time it takes to transition from round end and round start and also he is still counted in the player counter icon.

Observed Result

The player should be immediately removed from the game but he is still present and affects the time it takes to transition from round end and round start.

Platform(s)

UEFN laptop

Video

Here is the video showing the bug : Watch Bug | Streamable
Here is the video with a non-leaving player showcasing the correct round end to round start transitioning(no freezing of the game) :Watch CorrectRoundTransitioning | Streamable

Additional Notes

I think the player leaving/joining mechanisms need a solid revamp The primary recommendation is a complete revamp of the player joining/leaving mechanisms within the Unreal Editor for Fortnite (UEFN) engine.
Rationale for Overhaul:
Instability: The current built-in round system is prone to bugs (like those previously reported concerning disconnections) and general instability.
Creator Avoidance: Due to these issues, experienced creators cannot rely on the default system.
Widespread Workarounds: This has forced the majority of top map creators to develop and implement complex, custom-coded round systems to ensure map stability and functionality.
Goal: Provide a robust, stable, and reliable built-in system that removes the dependency on custom workarounds and allows creators to utilize UEFN’s native tools effectively.

(post deleted by author)

Again , this bug basically destroys my map since players leaving cause issues like this , Note : before I started recording there were already 7,8 seconds of “freezing” combined with the already 16 seconds that already can be seen in the video it makes the game unplayable for the rest of the players . This bug needs urgent fix. Watch LongTimeBug | Streamable

do you have any verse code? if yes then its probably the code

(post deleted by author)

If you are using anything player related, the player disconnects and the code still tries to cast something on player there goes your lag… if you have verse code you need to check on how you handle failures related to players

1 Like

Is someone looking into this? @Flak @Flak

I’ve noticed that players appear to “remain” in the game after they disconnect or leave in multiple other published maps created by different creators. In many cases, their characters stay for 10–15 seconds before actually leaving the game. This shows that the problem is not limited to my map alone.

I believe that in round-based maps, when a player remains in this “unfinished” state while this is happening during the transition between round end and new round start, it may trigger the long “processing” delay. I would appreciate it if someone could look into this issue. @Flak

FORT-1052622 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.

You need to check Your code for anything using :player, before doing anything to a player it’s best to check if Player.IsActive[], else it will try to execute something on a player that’s still hanging in the game after disconnection but is not reachable

In my case, no verse is cast on a player who leaves at the round’s end. My guess is that if a player leaves right before I trigger endround and he isn’t immediately removed from the system, it causes this delay.

try something like:

loop:
   Sleep(1.0)
   for(P:GetPlayspace().GetPlayers()):
       if(Player.IsActive[]):
           Print("Player still active")
       else:
           if(FC:=P.GetFortCharacter[]):
                FC.Damage(999.0)

Then check if the players still prints after leaving the game or if this will eliminate the bugged player