UE5/Network

[UE5] Controller in BeginPlay on Server

samoyedAlice 2024. 7. 3. 20:34

[TroubleShooting] : Controller is nullptr in ACharacter::BeginPlay if HasAuthority()

 


ACharacter::BeginPlay()에서 서버가 컨트롤하고 있는 Controller가 nullptr인 현상

Server가 아닌 Owning Client에서는 유효하나, Server에선 초기 세팅하는 함수들이 많아서 그런지 BeginPlay() 이전에 Possess되지 않는 것 같음

해결법은 PlayerController의 OnPossess()를 override해서 해당하는 서버측 로직을 추가로 수행

OnPossess()는 server에서만 실행되므로(Server Only) 잘 맞음.