Нашел ответ самостоятельно, все дело в Update:
"Часто LateUpdate используют для преследующей камеры от третьего лица. Если вы перемещаете и поворачиваете персонажа в Update, вы можете выполнить все вычисления перемещения и вращения камеры в LateUpdate. Это обеспечит то, что персонаж будет двигаться до того, как камера отследит его позицию."
Решение:
public void LateUpdate()
{
if (Player[ID] != null && (battleTap == true || supportTap == true))
{
CameraTracking();
}
}