It's working fine, but I'm struggling to make it so the gameObject rotates to face the direction in which the object is moving. Most of the code I have found assumes we are wanting to move X, Y and Z where as I am only really interested in X and Z.
If anyone has anyone suggests as to how I can get this functionality I'd be very grateful :)
Sorry I can't provide a code sample, I'm still in the "trial-and-error the syntax as I go" stage of Unity-specific javascript, but the theory is basically take the direction you're moving, either pulled from the .x and .z of your velocity or tracked frame to frame as a difference of previously-saved and current x & z position and drop it in a vector. I believe Unity has some LookAt or set-rotation-to-face-vector functions built in, otherwise you're back to using a Mathf.atan2 call and euler rotations.
But Spike's probably got the straightforward built-in: .LookAt where you're going, and then set the pitch component of the object rotation to 0.