// Use this for initialization private void Start() { Missions = new List <IMission>(); foreach (GameObject g in MissionObjects) { //print("h"); // soft cast - no exceptions, only null IMission mission = g.GetComponent(typeof(IMission)) as IMission; if (mission == null) { Debug.Log(string.Format("Didn't find {0}", mission.ToString())); } mission.InitializeMission(Player, Target, 10); Missions.Add(mission); } // soft cast - no exceptions, only null //killMision = Mission.GetComponent(typeof(IMission)) as IMission; //Missions.Add(killMision); //killMision.InitializeMission(Player, Target, 10); //CheckIfMissionsAreValid(); }