It looks like its just doing exactly what you're telling it to. You're setting the transform to be the same as the car, which happens to be Z-forward. You'll need to rotate the car rotation matrix. Eg. set transform.rotation = car.rotation; You could transform.rotate(...) after that, or simply multiply the quaternion by a Quaternion.Euler(90, 0, 0);