В твоём случае надо лучше использовать
if(Input.GetKey(KeyCode.UpArrow))
{
transform.position += Vector3.up * _speed * Timed.delta;
}
где _speed это выведеное поле в испектор, значение которого ты сможешь удобно менять во время игры.
[SerializeField] private float _speed = 10f;
аналогично что бы двигаться вниз
if(Input.GetKey(KeyCode.DownArrow))
{
transform.position -= Vector3.up * _speed * Timed.delta;
}
и для вправо и влево
if(Input.GetKey(KeyCode.RightArrow))
{
transform.position += Vector3.right * _speed * Timed.delta;
}
if(Input.GetKey(KeyCode.LeftArrow))
{
transform.position -= Vector3.right * _speed * Timed.delta;
}
А то, что ты использовал transform.forward - это больше для 3D игр подходит.
И вот тебе теория по векторам. Я думаю что здесь всё хорошо рассказано для твоего уровня
https://habr.com/ru/post/131931/