rb = GetComponent();  //какой?
rb = GetComponent<Rigidbody2D>(); // надо
moveInput = Input.GetAxis("Horizontal");
считываем инпут в update
https://docs.unity3d.com/6000.1/Documentation/Scri...
ну да ещё и старт с маленькой буквы) переписал 
using UnityEngine;
public class PlayerController : MonoBehaviour
{
    private Rigidbody2D _rb2d;
    [SerializeField] private float _speed=2f;
    private float _inputX;
    private Vector2 _moveDir;
    private void Start()
    {
        _rb2d = GetComponent<Rigidbody2D>();
    }
    private void Update()
    {
        _inputX = Input.GetAxis("Horizontal");
    }
    private void FixedUpdate()
    {
        _moveDir = transform.right * _inputX;
//_moveDir.y = _rb2d. linearVelocity.y  // падение и прыжек пока выкл 
        _rb2d.linearVelocity= _moveDir*_speed;
    }
}