How to force a variable to prefab

Hello, I have an AI ship that I need to spawn from a prefab. The problem is the ship needs the transform of the ship that it needs to attack. I have tried to assign the transform directly to the variable in the inspector but when I try to make that variable stay in the prefab it doesn’t. The prefab simply does not have that variable in it. So what I have tried to do is assign it through code by putting it on the script the spaceships are spawned with then assigning it when the spaceship is spawned. Here is an example:

var prefab : GameObject; //this is the spaceship spawned
var spawn : boolean = true; //this tells if the spaceship should be spawned
var enemy : Transform; //this is the transform of the enemy

function Update () {

	if(spawn)//if we can spawn something...
	Spawn(); //..go here
	//This makes the spawn point move
	transform.position.x = transform.position.x + 5 * Time.deltaTime;
	transform.rotation.y = transform.position.y + 5 * Time.deltaTime;
function Spawn()
	Instantiate(prefab, transform.position, transform.rotation);//Instantiate the prefab
	spawn = false; //make the spawning stop
	prefab.GetComponent(CollisionAvoidance).enemy = enemy;//THIS DOESN'T WORK!!! WHY?
	yield WaitForSeconds(10);//wait ten seconds
	spawn = true;//spawn another enemy

If you could please tell me why the variable can not be assigned that would be great, or if you could tell how to assign the variable to the prefab that would be great too.

Thanks in advance,


Internet search for “Unity Instantiate” and look at the Unity manual page (2nd one listed, for me) about Instantiating Prefabs At Runtime. It has an example of how to spawn a rocket and a wreck, and then reach into their scripts.

In general, it will look like myClone.GetComponent(scriptName).varName=