So basically the object is traveling on Y axis and with the press of UpAarrow key, the trajectory will change for 45 degrees but if you press DownArrow the object will continue it’s path on the value of X that’s it’s got to. It’s 3am and I’m tired so I figured to just draw it. Also the same would go if the DOWN is pressed first, just flip the picture.

Use left & right arrow to change course of direction. Speed multiplied by Time delta so its smooth. x and y values are calculated with current z rotation.

```
float speed = 3f;
float x;
float y;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
x = Mathf.Cos(transform.eulerAngles.z * Mathf.Deg2Rad);
y = Mathf.Sin(transform.eulerAngles.z * Mathf.Deg2Rad);
transform.position += new Vector3(x, y, 0) * speed * Time.deltaTime;
if (Input.GetKeyDown(KeyCode.LeftArrow)){
transform.Rotate(new Vector3(0, 0, 45));
}
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Rotate(new Vector3(0, 0, -45));
}
}
```