RealDocs

AGameModeBase::SpawnDefaultPawnFor

function Engine Since 4.14
#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?

Suggest an edit

Select a field above to begin editing.