Unity. Почему вращение применяется, но результата не видно?
Я так понимаю, что FPSController вы взяли из стандартных юнитёвых скриптов? Он вращение камеры хранит внутри себя и в каждом кадре его применяет, ваше значение поворота просто перезаписывается контроллером.
if (isFirst) direction = other.GetComponent<ThrowPortal>().getDirectionSecond();
            else direction = other.GetComponent<ThrowPortal>().getDirectionFirst();
тут разве не нужно наоборот? если 1й раз то брать .getDirectionFirst(); - ?other.transform.position = otherPortal.transform.position + otherPortal.transform.forward*1;
какой смысл этой строки? складываете позицию и направление зачем-то умноженное на 1 ...