Need help with transform.LookAt(target)

So basically I am trying to create a homing missile, I am using transform.LookAt(target), but when my player instantiates the missile, the missile does not look at the target. It only works if the missile is already in the scene when the game is started.

This is my code:

using UnityEngine;
using System.Collections;

public class Missile : MonoBehaviour {
	public float lifeTime = 15;
	public GameObject impactEffect;
	public Transform target;



	// Use this for initialization
	void Start () {
		Destroy (gameObject, lifeTime);
	}

	// Update is called once per frame
	void Update () {

		transform.LookAt (target);
		transform.Translate (Vector3.forward * 30 * Time.deltaTime);
	}
}

There is a chance that “target” is not defined when the object is instantiated. Try to define “target” to the player by using GameObject.find() under the start function.

void Start(){ target = GameObject.Find("[Name of Object]"); Destroy (gameObject, lifeTime); }

If the Start Function doesn’t work, Try using Awake instead.