Тут я уже окончательно решил, что двинулся кукухой и перестал понимать, как работает Unity. Единственный вариант, почему это все могло быть — это то, что я использовал не тот GamePause, который нужен. У него не было какого-то явного пространства имен, чтобы точно сказать, что это другой класс. Я решил еще раз вывести компоненты в лог, но добавить больше информации. Вместо GetType().Name я стал выводить GetType().AssemblyQualifiedName. Получилось такое:
Может, кто-то из Unity-программистов знает (Андрей?)
Я что-то тоже других вариантов не знаю.
Я понятия не имею, зачем в коде Beat Saber два класса GamePause.Вероятно перемудрили с assembly definition files.
RiderОпа, а я тоже его юзаю. Но какого-то лешего он мне иногда крашит юнити, когда я дебажу. Это у меня одного такая проблема?
Я в последнее время занимался в основном модами, а там дебага Юнити нет. Но в других проектах вроде все было хорошо, не сталкивался с проблемами.