Существует, два разных направления вперёд:
* transform.forward - направление вперёд объекта, зависящее от его поворота (обычно, ещё бывает берут transform.right и другие);
* Vector3.forward - глобальное направление вперёд.
Проблема вашего вопроса в том, что объект, двигаясь вперёд и кручась при этом будет либо вращаться на месте, либо описывать круг вокруг некоторого центра (в зависимости от настроек скорости движения и вращения.
Полагаю, вы хотите двигать объект вперёд по глобальной оси. В таком случае, достаточно просто тянуть его вперёд по глобальной оси и при этом спокойно вращать любым известным вам способом.