UEFN – Join in Progress / Player Spawner issue

Hi, I’m looking for help with a reproducible Join in Progress (JIP) spawning issue in UEFN.

I am creating a round-based game with a Pre-Game waiting area and separate gameplay spawn pads placed on pillars.

The important distinction is that the Pre-Game area is NOT a lobby that players should return to between rounds. It is only used once, while the server is waiting for players before the match starts.

The intended flow is:

PLAYER JOINS BEFORE THE MATCH STARTS

PRE-GAME WAITING AREA

MATCH STARTS

ROUND 1

PLAYER SPAWNS ON A GAMEPLAY PILLAR

ROUND 2

PLAYER SPAWNS ON A GAMEPLAY PILLAR

ROUND 3

PLAYER SPAWNS ON A GAMEPLAY PILLAR

For a player who joins after the match has already started, I want:

PLAYER JOINS DURING ROUND 1

SPECTATOR

ROUND 1 ENDS

ROUND 2 STARTS

PLAYER SPAWNS DIRECTLY ON A GAMEPLAY PILLAR

The problem is that the late-joining player correctly becomes a spectator, but when the next round starts, the player is spawned in the Pre-Game waiting area instead of a gameplay pillar.

In some configurations the player can also fall from the sky instead of being placed on a valid gameplay spawn.

After that, the player eventually ends up spawning on a gameplay pillar, but the initial spawn is wrong.

Current configuration

Island Settings:

  • Join in Progress → Spawn on Next Round
  • Default Class Identifier → Class 2
  • Spawn Location → Spawn Pads
  • Only Allow Respawn if Spawn Pads Found → ON

Pre-Game Player Spawners:

  • Player Class → Class 1
  • Use as Island Start → ON
  • Enabled During Phase → Pre-Game Only

Gameplay Player Spawners:

  • Player Class → Class 2
  • Use as Island Start → OFF
  • Enabled During Phase → Always
  • These are the 12 spawn pads placed on the gameplay pillars.

The player is correctly assigned to Class 2. I also tested the Class Selector independently with a Button: manually changing a player to Class 2 works correctly and does not cause the player to be killed or otherwise behave incorrectly.

What I have already tested

I have tested many different combinations of:

  • Player Classes
  • Class Selector / Class Designer
  • Player Spawner Class filtering
  • Use as Island Start
  • Enabled During Phase
  • Priority Groups
  • Default Class Identifier
  • Join in Progress
  • Spawn on Next Round
  • Spawn Location
  • Only Allow Respawn if Spawn Pads Found
  • Verse-based class assignment
  • Verse-based JIP handling
  • RoundBeginEvent
  • manually forcing a respawn with Verse
  • disabling my custom end_game_system

I have now gone through more than 40 test versions trying to isolate the issue.

I also tested with my custom end_game_system completely disabled, and the exact same JIP spawning problem occurs, so the End Game Device / End Game Verse system does not appear to be causing the issue.

I also tried a Verse fallback that listens for RoundBeginEvent, waits briefly, checks whether the late joiner has a fort_character, and attempts to force a respawn onto a gameplay pillar. The Verse code compiles successfully, but the player is still sent to the Pre-Game waiting area instead of directly to a gameplay pillar.

My question

I need to know whether this is:

  1. Expected behavior / a limitation of Join in Progress → Spawn on Next Round,
  2. a known bug involving Pre-Game Island Start spawners and Gameplay Player Spawners, or
  3. a specific configuration/API that I am missing.

Most importantly:

How can I configure UEFN so that Pre-Game Player Spawners are used ONLY when the player initially joins the session, while a player joining in progress with Spawn on Next Round is guaranteed to spawn directly on a Gameplay Player Spawner when the next round begins?

I do not want the player to return to the Pre-Game waiting area between rounds, and I do not want to use a damage volume or other workaround to hide the spawning problem.

If this behavior is a known UEFN limitation or bug, please let me know so I can stop trying to solve something that cannot currently be solved through the normal Player Spawner / JIP system.

If you need it, I can also provide the project, Verse files, screenshots of the Player Spawner settings, and a reproducible test case.

Thank you.

1 Like