When I parent my Camera to my player’s head is rotated sideways 90 degrees and tilted 90 degrees. In my Start() I’m parenting it to the head then setting the position and rotation to that of the head. It might be gard to see on the photo but the camera is pointing sideways instead of straight ahead of her and it’s rotate so instead of orbiting up and down it looks left and right but thet axes is set right and the camera pans fine when it’s not parented.
void Start()
{
fpsCam = GameObject.Find("FPSCam").GetComponent<Camera>();
head = GameObject.Find("Head");
fpsCam.transform.parent = head.transform;
fpsCam.transform.localPosition = Vector3.zero;
fpsCam.transform.localRotation = head.transform.rotation;
}