Addforce to RigidBody problem

Hey, I just wanted this projectile to fly forward using “Addforce” but all it does is drop straight to the floor. Can someone help me? It would be really appreciated!

    //Variables Start___________________________________
 
 
    //The explosion effect is attached to this
    //in the inspector
 
    public GameObject mudParticle;
 
 
    //A quick reference.
 
    private Transform myTransform;
 
 
    //The projectiles flight speed.
 
    private float projectileSpeed = 500;
 
 
    //Prevent the projectile from causing
    //further harm once it has hit something.
 
    private bool expended = false;
 
 
    //A ray projected in front of the projectile
    //to see if it will hit a recognisable collider.
 
    private RaycastHit hit;
 
 
    //The range of that ray.
 
    private float range = 1.5f;
 
 
    //The life span of the projectile.
 
    private float expireTime = 10;
 
 
    //Variables End_____________________________________
 
    // Use this for initialization
    void Start()
    {
    myTransform = transform;
		
 
   //As soon as the projectile is created start a countdown
   //to destroy it.
 
    Destroy (gameObject, expireTime);
	
 	//Translate the projectile in the forward direction (the pointed
    //end of the projectile).
    rigidbody.AddForce(myTransform.forward * projectileSpeed * Time.deltaTime);
    }
 
    // Update is called once per frame
    void Update () 
    {
       //If the ray hits something then execute this code.
 
      Debug.DrawRay( myTransform.position, Vector3.forward * range, Color.red );
      if(Physics.Raycast(myTransform.position, Vector3.forward, out hit, range) && expended == false)
      {
         //If the collider has the tag of Floor then..
 
         Debug.Log( "Ray Hit (floorMud) : " + hit.collider.transform.tag );
         {
          expended = true;
 
 
          //Instantiate an explosion effect.
 
          Instantiate(mudParticle, hit.point, Quaternion.identity);
 
 
          //Make the projectile become invisible.
 
          myTransform.renderer.enabled = false;
         }
       }
    }
 
 
    IEnumerator DestroyMyselfAfterSomeTime()
    {
       //Wait for the timer to count up to the expireTime
       //and then destroy the projectile.
 
       yield return new WaitForSeconds(expireTime);
 
       Destroy(myTransform.gameObject);
    }
}

Try to exchange these lines:

 Destroy (gameObject, expireTime);

rigidbody.AddForce(myTransform.forward * projectileSpeed * Time.deltaTime);

in Start() so that it looks like this:

rigidbody.AddForce(myTransform.forward * projectileSpeed * Time.deltaTime);

 Destroy (gameObject, expireTime);

Also if needed increase the projectileSpeed.