Не все! В Builder есть Counter counter = Instantiate(FindObjectOfType<Counter>());. Там же еще несколько раз вызывается.
В том же классе у тебя использование класса Input, который должен быть только в InputReader (сервис, который получает ввод и бросает события о том, что было что то нажато).
Вместо @base.GetComponent<ResourceStorage>() сделай публичные свойства у базы, чтобы можно было получать доступ без GetCompoent.
И вот так всё исправил https://github.com/NoNameDeleted/BotsCollectors/commit/e8d4dbfb976a68b9938c081388bc4c6c7c71fa19
В этот раз дело пошло быстрее, хотя соображал всё равно долго. Самое главное что понял из этого задания - нужно обязательно создавать метод инициализации для объекта который создаётся динамически во время игры. И стараться как можно меньше использовать GetComponent в идеале этого метода вообще не должно быть ни где в коде, а все компоненты добавляться через менеджер сцены и потом передаваться как аргументы в методах и событиях.
Короче если в коде есть GetComponent значит вы где то совершили ошибку