El siguiente script puede ser de utilidad

Mover objeto sin hacer uso de Rigidbody:

public float speed = 100;
public Transform obj;

public void Update()
{
    float h = Input.GetAxis("Horizontal");
    float v = Input.GetAxis("Vertical");

    Vector3 tempVect = new Vector3(h, v, 0);
    tempVect = tempVect.normalized * speed * Time.deltaTime;

    obj.transform.position += tempVect;
}

Movimiento con uso de Rigidbody2D:

public float speed = 100;
public Rigidbody2D rb;

public void Update()
{
    float h = Input.GetAxis("Horizontal");
    float v = Input.GetAxis("Vertical");

    Vector3 tempVect = new Vector3(h, v, 0);
    tempVect = tempVect.normalized * speed * Time.deltaTime;
    rb.MovePosition(rb.transform.position + tempVect);
}

Sugiero usar el segundo script y mover el Rigidbody si lo que deseas es poder detectar colision posteriormente.

Cabe notar también que necesitas asignar el objeto a mover al slot obj en el Editor.
Si hicieras uso del segundo script, asigna el objeto con Rigidbody2D al slot rb en el Editor.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence