How to Select Which PlayerStart to Spawn?

Hello. I want to select which playerstart to spawn character there. For example; when the game first starts, character needs to start on PlayerStart1, when he come back from another level, it needs to start on PlayerStart2.

I tried to SpawnActorFromClass but it spawns another actor with my character. I just want character to spawn on points I want.

In order to do this you need to store every player start in an array and override a function.

Please refer to this excellent answer by another user. Remember to vote his answer up.

In your case you have to create some logic so that you know what playerstart to select in what condition. Enums or ints can be used for this. Even strings.

Hi, just get the transform of the player start. You know how a player start has a tag? just give the tag a value. So like the first player start will have value first, then the second player tag will have value second.

Then in your blueprint, loop through all the player starts in the world, and compare the tag in your logic.

Get the transform, and spawn the player on it.

My game is not multiplayer, so there are not 2 players. I just want to spawn the only character in PlayerStart1 at first, then at some point of the game in PlayerStart2.

I answered witha way to do this.

That couldn’t help me, I can’t make it work.

I want to know how can I select 1 character spawn different PlayerStarts at EventBeginPlay node. It is single player game, it does not have two or more teams.

Then show me what you are doing because I know it DOES work if done correctly. How is your levels set up? What is the information flow? Screenshots, code. We need info. Your game is a black box to us so you have to give us info.

And I gave you an answer that does that. You then say it does not work, so you have to show me what you did so that we can find what you did wrong.

I couldn’t do anything with that solution.

Can anyone help?

I managed to do this without playerstart but with spawn actor node.

It’s been a while since I post it, so I don’t remember exactly what situation I was in. I was new to the engine back then, I didn’t know complicated things. I’m sorry if I did anything wrong.

really dude? His answer is correct. If someone ask you about more information then just give them it. There is sadly no easy way for this. I am researching this for 4 weeks and working with arrays seems to be the only way outside of having 2 multiplayer caracters or somehow giving them tags…

Awesome! How did you do it with spawn actor nodes? Did you also use tags or how did you manage to do this. Also thanks for responding so quickly.

I stored a transform variable to save it later. When player reaches some checkpoint, I updated that variable. When the game starts, on EventBegin there is a spawnActor node with that variable on the transform.

There is no playerStart on the level and because of that there will a character on your camera location when you start. So, be careful with that when you use this method.

It’s been 5 years.

Let me try to answer this question. After checking all the answers above.

So in this case, you have many player starts in one level. And you want to spawn the player in the first player start.
After reference to this article [How to select a player start], I found my solution on this thing.

Pretty easy:
Go to the Game Mode → overwrite the Function [Choose Player Start] → Put your first player start tag in here.

1 Like

Here’s the missing link above: