DaNKuL, Ни в одном из примеров ты не создаешь экземпляр класса. В первом ты объявил поле, во втором получил компонент с другого компонента. Все, что наследуется от MonoBehaviour должно создаваться через Instantiate, нормально через конструктор ты не создашь объект. Статик использовать смысла нет
Неправильно ты понял. У тебя в ошибке же написано, Object reference not set to an instance of an object. Нет компонента, который тебе нужен. Вместо GetComponent используй TryGetComponent