2D movement script is wrong?

Trying to get movement in a 2D space, using the code below. But No input is moving my player, a rigidbody and box collider are both on.

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

	public float speed = 50f;
	public float jumpPower = 150f;

	public bool grounded;

	private Rigidbody2D rb2d;

	void Start () {
		rb2d = gameObject.GetComponent<Rigidbody2D>();
	}
	

	void Update () {
	
	}

	void FixedUpdate(){
		float h = Input.GetAxis("Horizontal");
		rb2d.AddForce((Vector2.right * speed) * h);
}
}

Because case sensitivity is important. The method is FixedUpdate, not fixedUpdate.