The first thing that pops out too me is the “virtual” missing from the declaration. This may mess up UHT.
Try:
UFUNCTION(Reliable, Client, WithValidation)
virtual void Client_UpdatePosition(FRotator newRot);
virtual void Client_UpdatePosition_Implementation(FRotator newRot);
virtual bool Client_UpdatePosition_Validate(FRotator newRot);