Help with addforce

Arrow instantiates but doesn’t have any force added so it just drops straight down.

var shooter : Transform;
var arrow : Rigidbody;
   
function Start () 
{
	shooter = GameObject.Find("shooter").transform;
}

function Update () 
{
	if (Input.GetKeyDown("y"))
	{
		Instantiate(arrow, shooter.position, shooter.rotation);
		arrow.rigidbody.AddForce(Vector3.forward * 1000);
		arrow.transform.forward = Vector3.Slerp(arrow.transform.forward, arrow.rigidbody.velocity.normalized, Time.deltaTime);		
	}	
}

Not sure what shooter and such is in your game, but I copied this into a test project and it fires straight ahead

var shooter : Transform;
var arrow : GameObject;
var thisArrow : GameObject;
 
function Start ()
{
shooter = GameObject.Find("shooter").transform;
}
 
function Update ()
{
if (Input.GetKeyDown("y"))
{

thisArrow = Instantiate(arrow, shooter.position, shooter.rotation) ;

thisArrow.rigidbody.AddForce(Vector3.forward * 1000);
thisArrow.transform.forward = Vector3.Slerp(thisArrow.transform.forward, thisArrow.rigidbody.velocity.normalized, Time.deltaTime);
}
}

I had shooter as a child to the FPController object, but that doesn’t rotate with the parent so it only fires forward. See if you can adapt that to your setup. Also make note of the remark about using AddForce in Update v FixedUpdate @
http://docs.unity3d.com/Documentation/ScriptReference/Rigidbody.AddForce.html