It mean that GetControlledPawn(), or return diffrent type then cast or returns nulll pointer as controller not possessing pawn at this point. I belive it’s mopt likely 2nd option as you do it in function which name it sounds like it’s executed in componant initiation stage where controller possess nothing, try diffrent function, most safes will be BeginPlay()… or even better Possess():