After testing your code, the only conclusion I can come to is that you are not actually including a `Rigidbody` on your player. When we use `GetComponent<t>()`, we are referencing an *existing* component on the host `GameObject`.

Given your above code, on an object that contains a `Rigidbody`, the object moves quite clearly. I have included a recording, for reference.

[![With a valid rigidbody, the script easily allows me to move a cube around the screen.][2]][2]

----

### Ensure your `GameObject` has a `Rigidbody` through code

You can add a simple tag to any script to force it to require a component. If said script is attached to a `GameObject` via the Inspector, the required component is added, too. You can do this with *any* `Component`; this is what it would look like if you forced your script to attach a `Rigidbody`:

    [RequireComponent(typeof(Rigidbody))]
    public class NewBehaviourScript1
    {
        // ...
    }


  [1]: https://i.sstatic.net/ISUyh.gif
  [2]: https://i.sstatic.net/lRsPN.gif
  [3]: https://docs.unity3d.com/ScriptReference/Time-deltaTime.html "Time.deltaTime @ docs.unity3d.com/ScriptReference/"
  [4]: https://docs.unity3d.com/ScriptReference/Time-fixedDeltaTime.html "Time.fixedDeltaTime @ docs.unity3d.com/ScriptReference/"