cuando haces un instantiate, lo que te devuelve es el objeto y puedes hacer un GetComponent del Script al q quieras acceder del objeto, por ejemplo, si tengo una Bala y el script que controla el daño y la velocidad q hace se llama "BalaControlador" el código sería algo así:
public GameObject bala; // aqui pondriamos el prefab desde el editor del la bala
// metodo que llamamos para crear la bala
void CrearBala()
{
// instanciamos la bala
GameObject newBala = (GameObject) Instantiate(bala, transform.position, transform.rotation);
// accedemos al script con los valores iniciales
BalaControlador balaControl = newBala.GetComponent<BalaControlador>();
balaControl.Speed = 100;
balaControl.Damage = 30;
}
Lo he escrito sobre la marcha, es posible q tenga errores de sintaxis, por cierto, una vez dicho esto, no te recomiendo usar instancias a saco, me crearía un pool de objects