How do I add Diagonal Movement to this 4-Directional Script?

void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.position += Vector3.right * speed * Time.deltaTime;
transform.rotation =Quaternion.LookRotation(Vector3.right);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.position += Vector3.left* speed * Time.deltaTime;
transform.rotation =Quaternion.LookRotation(Vector3.left);
}
if (Input.GetKey(KeyCode.UpArrow))
{
transform.position += Vector3.forward * speed * Time.deltaTime;
transform.rotation =Quaternion.LookRotation(Vector3.forward);
}
if (Input.GetKey(KeyCode.DownArrow))
{
transform.position += Vector3.back* speed * Time.deltaTime;
transform.rotation =Quaternion.LookRotation(Vector3.back);
}
}
}

You can combine your up/down and left/right values into one vector

void Update()
  {
      float UpDown = 0;
      float LeftRight = 0;

      if (Input.GetKey(KeyCode.RightArrow)) LeftRight = -1f;
      else if (Input.GetKey(KeyCode.LeftArrow)) LeftRight = 1f;

      if (Input.GetKey(KeyCode.UpArrow)) UpDown = 1f;
      else if (Input.GetKey(KeyCode.DownArrow)) UpDown = -1f;

      Vector3 direction = new Vector3(LeftRight, 0, UpDown).normalized;

      transform.position += direction * speed * Time.deltaTime;
      transform.rotation = Quaternion.LookRotation(direction);
  }