Unity3d ошибка с переключением камер?
Вы неправильно понимаете суть классов и компонентов, внимательно почитайте документацию. GameObject это не компонент, с помощью каста в другой класс нельзя магическим образом достать из него компонент, для этого существует специальный метод GameObject.GetComponent. Кроме того, в вашем случае конструкцию с FindGameObjectWithTag можно заменить вызовом Camera.main, результат будет такой же. Это не очень хорошая практика в контексте камер, но это уж вам решать. Что касаемо второй ошибки, она случается из-за того, что в вашем старте в первой строчке вызывается исключение, что обрывает поток метода, и все последующие строчки не вызываются, поэтому camera2 остаётся null.
camera1 = Camera.main
По поводу второй камеры
Скорее всего, на объекте просо нет такого компонента. На всякий случае, добавте атрибут RequireComponentr(typeof(Camera)) перед классом скрипта. Затем удалить скрипт с объекта и повесьте опять.
Или же назначьте камеру в инспекторе ручную