В скрипте есть переменная :
public Camera PlayerCam;
Через метод public void Start() { ... } хочу присвоить этой переменной главную камеру персонажа. Пробывал с помощью
PlayerCam = GameObject.FindGameObjectWithTag("Player").transform.GetChild(0);
Но появляется ошибка, что переменная типа GameObject не может быть занесена в переменную типа Camera.
Что бы взять главную камеру можете воспользоваться
PlayerCam = Camera.main;
И как писали выше, вы присваивали не тот тип данных камере. Если уж вы и находите объект камеры на сцене то берите с неё компонент камеры и присваивайте куда хотите.
PlayerCam = GameObject.FindGameObjectWithTag("Player").transform.GetChild(0).gameObject.GetComponent<Camera>();
Посмотрите документацию по GetChild() - этот метод возвращает тип Transform, а вы пытаетесь сохранить его в переменную типа Camera. Если вы хотите получить какой-либо скрипт, прикрепленный, к искомому вами GameObject, то воспользуйтесь методом GetComponent, указав в качестве параметра T - Camera.
Стоит заметить, что код, который вы привели в вопросе крайне не оптимальный и использовать его не стоит. Лучше всего прокидывать ссылки на компоненты и объекты в Inspector.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости