Issue with adding a force

I’m trying to “throw” an object a short distance forward, but cannot seem to get it to work. The object just gets thrown upwards towards infinity…any advice would be greatly appreciated.

	public bool beingThrown = false;
	public GameObject playerObject;

	void FixedUpdate () {
		ThrowDoughnut ();
	}

	void ThrowDoughnut() {
		if(beingThrown){
			rigidbody.useGravity = true;
			rigidbody.isKinematic = false;
			collider.isTrigger = false;
			Vector3 fowardForce = new Vector3 (0, 0, 0);
			rigidbody.AddForce(Vector3.forward, ForceMode.Impulse);
			float dist = Vector3.Distance(playerObject.transform.position, transform.position);
			Debug.Log (dist);
			if (dist > 1f) {
				beingThrown = false;
			}
		} else {
			rigidbody.velocity = Vector3.zero;
			rigidbody.angularVelocity = Vector3.zero;
		}
	}
}

This line of code:

  rigidbody.AddForce(Vector3.forward, ForceMode.Impulse);

…is applying force in the world forward. So unless you have your game setup in a strange way, this line (assuming enough force is being applied) should move it forward. If it is not moving forward, then you need to take a look at what else might be impacting your object. For example, if you are spawning the object inside another object, the collision might be forcing it upward. Or their might be some other script applying force, or there might be some sort of bounce.

Start with just your object and a very simple script that adsd force every fixed update…nothing else in the scene. Once you have that working and therefore know how much force you need to apply, go back to your original scene, and turn off every object but the one you are trying to move. If it works, then begin adding back (enabling) all the other objects to see what is happening.