# Sequentially select player spawn position on join listen server

**URL:** <https://forums.unrealengine.com/t/sequentially-select-player-spawn-position-on-join-listen-server/2650397>\
**Category:** Programming & Scripting\
**Tags:** game-mode, unreal-engine, Blueprint, question\
**Created:** [August 23, 2025, 11:04pm UTC](https://forums.unrealengine.com/t/sequentially-select-player-spawn-position-on-join-listen-server/2650397 "2025-08-23T23:04:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![GM.Wiz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@GM.Wiz](https://forums.unrealengine.com/u/GM.Wiz)\
**Post date:** [August 23, 2025, 11:04pm UTC](https://forums.unrealengine.com/t/sequentially-select-player-spawn-position-on-join-listen-server/2650397/1 "2025-08-23T23:04:44Z")

</div>

I’m trying to sequentially select player spawn positions in order as each player joins the server. The host takes the first position, and then each player that joins will take the next position in the order of the elements in the array. I initialize the array in the Construction Script for the GameMode used in my level -

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/a/b/d/abdb71864aaf4c42bb471541562b4e9984cbc023.png)

But overriding `ChoosePlayerStart` in the GameMode blueprint using the setup below does not work for selecting player spawn position sequentially instead of randomly. I have 2 players on the level. The array is of length 2, the first iteration selects index 0, the second selects index 1. The default value of PlayersSpawned is 0.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/0/4/d/04dfeaa33f13352815cc7a847adf5175c27ba4ac.jpeg)

The first player spawn works correctly

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/d/1/7/d178c030dcbeacc2b0688f72c46225ce843c8f00.png)

For some reason fetching the array index 1 returns an Unknown object, resulting in character spawn failing. In this screenshot PlayersSpawned is 2 but we called Get (a copy) prior to incrementing, so the value was 1 when this was called.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/e/e/7ee2b1b731bc84b9218968af7fbd77c83fcd6ea8.png)

I added checks to IsValid after Get (a copy) to see if the result is invalid - the check passes and claims it is valid. I added a precheck at the beginning of the function seen in the first screenshot that validates the index is valid and that check passes as well.

Still the player does not spawn?

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/6/b/26bde9684361903035b716dd1e968c51aaf4920d.jpeg)

But if I do this instead with a static value of 0 or 1, both players spawn correctly (both players spawn on the same position, depending on which static value was used). Do I need a coffee break or is something weird going on here?

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/2/2/22258cb7c93d72eb4b18335a591dd01fb1ab36e2.png)

Here is a guide that i referenced when setting this up, thank you in advance

> [@\[Basic guide\] How to select a Player Start in multiplayer](https://forums.unrealengine.com/t/basic-guide-how-to-select-a-player-start-in-multiplayer/95270):
>
> I’m inexperienced with UE4, but I wanted to help any other newbies by presenting a basic solution to this problem which took me a while to solve. So, you want a simple multiplayer game, but the players seem to be spawning at random Player Starts. This means that half the time some of your players are not spawning! Here’s how to fix it: Open your game mode. Hover your cursor over the plus sign next to ‘Functions’ on the left, select ‘Override’ and then click ‘Choose Player Start’. Now, you can…
