Тут я уже окончательно решил, что двинулся кукухой и перестал понимать, как работает Unity. Единственный вариант, почему это все могло быть — это то, что я использовал не тот GamePause, который нужен. У него не было какого-то явного пространства имен, чтобы точно сказать, что это другой класс. Я решил еще раз вывести компоненты в лог, но добавить больше информации. Вместо GetType().Name я стал выводить GetType().AssemblyQualifiedName. Получилось такое: