개발을 하던 도중 UGameplayStatics::GetPlayerCharacter() 함수가 nullptr을 반환하는 상황이 발생하였다.
단순히 액터 생명주기를 제대로 확인하지 않아서 생긴 문제였다.
따흑...
나의 경우 플레이어 캐릭터를 미리 레벨에 배치하지 않고, 게임을 플레이함과 동시에 레벨에 스폰되는 방식으로 구현하였다. 그 때문에 플레이어가 스폰되지 않은 상태에서(OnPossess, PostInitializeComponents에서 얻어오려고 했었다) 얻어오려고 하니 빈 값을 반환할 수밖에 없었던 것이다.
따라서 해당 코드를 BeginPlay()에 넣으면 제대로 동작하는 것을 확인할 수 있었다.