я пытаюсь решить очень особую проблему, может у кого-то из вас возникнет похожая проблема, я расширю класс TextMeshProUGUI из диспетчера пакетов Unity только для добавления простой строки дополнительного свойства для локализации с именем m_key для тех, кто будет использовать это GameObject нужно только поместить ключ для локализованной строки в редактор и проверить, как он выглядит как текст TMPro с локализованной строкой, хорошо, я скопирую весь пользовательский редактор TextMeshPro в новый класс редактора только для показа локализованного текста в редакторе единиц со следующим кодом функции OnInspectorGUI:
m_key = EditorGUILayout.TextField(new GUIContent("LOCALIZED KEY:"), localized_key.stringValue, GUILayout.Height(18), GUILayout.ExpandWidth(true));
localized_key.stringValue = m_key;
text_prop.stringValue = LanguageWizard.GetGameText(localized_key.stringValue);
Где m_key - это просто строковая переменная в классе редактора, а localized_key - из свойства m_key расширенного класса, и в этот момент он действительно работает хорошо, но проблема в том, что в редакторе Unity пытаются деактивировать игровой объект или его parent, родитель скрывает, TMPro скрывает, но свойство text все еще видно в редакторе, в то время как нормальное поведение редактора скрывает его, может быть, я немного поэкспериментирую с пользовательским редактором TMPro, но если кто-то испытал это, пожалуйста, помощь.