Как сильно нагружает процессор проверка оператора if?
Я не очень понимаю, что в скрипте и как сильно может нагружать процессор. Т.е. что лучше постоянно постоянно из другого скрипта получать значение переменной с помощью GetComponet (в функци FixedUpdate) или поставить в условие поставить в поаторяющиеся временные рамки. Нагржает ли процессор то, что я присваиваю переменной значение, которое она уже имеет (в функци FixedUpdate). Если да, то уменьшится ли нагрузка, при вставке этой переменой в if, что бы значение присваивалось переменной только если она ещё не равна ему.
Ещё есть события, можно подписаться на событие и вызывать код только когда нужно, а не делать постоянные проверки. Зависит от задачи. Class1 - это класс, у которого поле, за состоянием которого ты хочешь следить в Class2, тот класс, который у тебя делает проверки в if - следит. Тебе нужно просто создать событие в Class1 и подписаться на него в Class2. Не забудь от него отписаться. Чтобы понимать где подписываться, а где отписываться, тебе нужно понимать жизненный цикл скрипта. Когда вызывается метод Start, когда Reset, когда OnEnable, OnDisable, OnDestroy и т.д. Без этого знания нет смысла что-то писать. Начать можно отсюда: https://docs.unity3d.com/Manual/ExecutionOrder.html
GetComponent нужно вызвать один раз в методе Start и присваивать результат полю. Правда я не в курсе насколько сейчас в последней версии Unity долго этот метод отрабатывает. Но обращение к полю точно будет быстрее.
Скорее всего, просто присвоение будет быстрее.
Но это не важно. Скорее всего, не это будет самым затратным местом в программе. Надо учиться пользоваться профилировщиком, а к микрооптимизациям приходить, когда нет другого выхода