TaskInteraction.Awake() might be getting called before UIControl.Awake(). Try moving the StartCoroutine(SearchForInteraction()); from TaskInteraction.Awake() to TaskInteraction.Start(). Since all Awake() run before all Start(), I recommend doing only initialization-type work in Awake(), so that all the references are set up before you start using them.