В аниматоре такого нет?
Есть. Но хеш же сначала нужно из строки получать все равно.
Но это все же не то что я имел в виду.
Строковые переменные - нормальное явление. Ключи строки в словаре похуже, но тоже нормально. А вот вместо типа использовать его имя или вместо метода использовать имя метода - гораздо хуже.
какой понятнее и быстрее написать?
Первый понятнее. Второй быстрее.
Да, в Юнити много вещей не приспособлены для того же рефакторинга. События могут пропасть, функции в onClick, кто-то может взять и переименовать параметр в Аниматоре. Даже просто компоненты, накинутые на объект пропадают. Но зачем же себе еще ухудшать жизнь используя строковые названия методов и типов.
Вот, например обфускация. Обфускатор может стандартные методы Юнити опознать и не обфусцировать. Но откуда он узнает, что Вы имя этого метода строкой где то написали, или в Event-ах использовали? Придется обфускатору явно это указать
В-общем каждый выбирает сам, но я стараюсь нигде не использовать строковые имена методов и типов.