No matter what bulletSpeed I use, the bullets come out at the same speed.

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{
public float moveSpeed;

public GameObject bullet;
public float bulletSpeed = 1000.0f;
public float shootDelay = 0.2f;
private bool canShoot = true;

void FixedUpdate ()
{
	//player movement
	Vector3 moveDirection = new Vector3 (Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"),0);
	rigidbody.velocity = moveDirection * moveSpeed;

	//playershooting
	if((Input.GetAxis ("FireHorizontal") != 0.0f || Input.GetAxis ("FireVertical") != 0.0f) && canShoot)
	{
	Vector3 shootDirection = new Vector3(Input.GetAxis("FireHorizontal"), Input.GetAxis ("FireVertical"),0).normalized;
	GameObject bulletInstance = Instantiate(bullet,transform.position, bullet.transform.rotation) as GameObject;
	bulletInstance.rigidbody.AddForce (shootDirection*bulletSpeed,ForceMode.VelocityChange);
		canShoot = false;
		Invoke ("ShootDelay", shootDelay);
	}

}

void ShootDelay()
{
	canShoot = true;
}

}

Hi, your bullet variable is public, so it is being overwritten from value which is in inspector. Change it to private or input your speed from inspector.