Да, скорее всего, 2 строки не совсем одинаковы. При сравнении строк вы можете использовать функцию string.Equal () , чтобы добавить настройки сравнения.
if (gmD.Equals (name, StringComparison.InvariantCultureIgnoreCase)) *
Сравнение строк с использованием чувствительных к культуре правил сортировки, инвариантной культуры и игнорирование случая сравниваемых строк .
Также стоит отметить, что использование имени для имени переменной может привести к некоторым ошибкам, поскольку UnityEngine.Object.name является свойством.