В Unity функция обновления запускается один раз за каждый кадр!
Выполнение таких операций, как сравнение строк, может оказаться не самой лучшей идеей.
Возможно, вы захотите получить пользовательский ввод в обновлении, а затем выполнить некоторые вычисления в FixedUpdate, который выполняется с фиксированной скоростью. частота кадров.
Это в стороне ... В Unity есть лучший способ сделать то, что вы делаете, используя метод CompareTag.
Этот метод компилируется "специальным" способом Компилятор Unity во избежание выделения строк и т. Д. c .. В основном оптимизирован для повышения производительности.
Вот несколько ссылок, которые могут помочь вам очистить воду:
Производительность CompareTag
В этом окне выполните поиск CompareTag в вашем браузере, чтобы точно определить вашу ситуацию: Сборка мусора и другие оптимизации
Из форума Unity
Из JetBrains
Наконец, если вам действительно нужно сравнить две строки ... Самый быстрый способ, скорее всего, будет выглядеть так:
string.CompareOrdinal(myString1, myString2) == 0 //this means equals
string.CompareOrdinal(myString1, myString2) != 0 //this means not equals