AGameModeBase::SpawnDefaultPawnFor
#include "GameFramework/GameModeBase.h"
Access: public
Description
Spawns the default pawn class for a controller at the given player start actor. Called internally by `RestartPlayer`; override to customize the spawn location, rotation, or pawn class per controller.
Signature
APawn* SpawnDefaultPawnFor(AController* NewPlayer, AActor* StartSpot) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| NewPlayer | AController* | The controller the pawn will be spawned for. | — |
| StartSpot | AActor* | Player start actor whose transform is used for spawn location. | — |
Return Type
APawn* Caveats & Gotchas
- • Returns `nullptr` if the pawn class is not set or the spawn fails (e.g. spawn point blocked) — RestartPlayer will silently fail.
- • The returned pawn is not yet possessed; `RestartPlayer` calls `Possess` immediately after.
- • Prefer overriding `GetDefaultPawnClassForController` to change the pawn class rather than this method.
Example
Override to use a custom spawn transform C++
APawn* AMyGameMode::SpawnDefaultPawnFor(AController* NewPlayer, AActor* StartSpot)
{
FTransform SpawnTransform = GetCustomSpawnTransform(NewPlayer);
return GetWorld()->SpawnActor<APawn>(GetDefaultPawnClassForController(NewPlayer), SpawnTransform);
} Version History
Introduced in: 4.14
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
| 5.0 | stable | — |
Feedback
Was this helpful?