Override ChoosePlayerStart

All this function does is choose which actor is the player start:

Then, the game mode that is being used will spawn the player at the actor which has been chosen by this function.

In ThirdPersonGameMode, I want to spawn playerstart where I want.
So I overrided ChoosePlayerStart Function like this, but no character spawned.
DefaultPawnClass is ThirdPersonCharacter.

What is the problem?

I thought that, where player starts should be implemented on GameMode, not the LevelBluePrint.
It doesn’t make sense to me, that open level and move character.
I think load doesn’t mean teleport, it means starts where the location I saved.
So I have SaveGame, GameInstance to do so.

However,as you said, I can’t and don’t know how to override ChoosePlayerStart function.
Is that the best way to implement my intention?

To spawn character where I Want, I want to spawn playerstart where I want.
So I overrided ChoosePlayerStart function.

I understand what you’re saying, but this is not the way to do it.

Because when your player saves the level 1/2 way, you record the location.

When the level starts again, if a location has been saved, move the player to that location.

The only way you could do it by overriding this function is if somehow you could save another player start with the level, which you can’t.

Why use a player start anyway? All you need is the location to spawn the player ( or move the player ).

You can spawn the player from the game mode. You can spawn them where you want.

Likewise, you can have a player start for the initial level load, but once a save game has occurred, you can spawn at the saved location.

Another alternative is to have checkpoints, each has a player start. Just spawn at the nearest player start.