Как добавить кастомные поля в инспектор любого AssetImporter

создаем копию встроенного Editor'a, и вызываем из него OnInspectorGUI
далее рисуем наши поля
для сохранения используем plain class сохранённый с помощью JsonUtility в поле AssetImporter.userData (string)
вызываем AssetImporter.SaveAndReimport чтобы применить изменения
Здесь базовый класс, который я использую, чтобы добавить поля в любой встроенный инспектор: GitHub | CustomOverrideEditor
Может быть непросто показать всё, что изначально рисовал встроенный инспектор (например, в примере с ModelImporter, у меня исчезли кнопки «Apply/Revert»), но имея доступ к декомпилированному коду, через рефлексию я успешно все отрисовал
В ваших пользовательских полях вам также придется обрабатывать mixed values вручную, потому что у вас нет общего SerializedObject. Вы можете создать ScriptableObject для каждого AssetImporter.userData, но это может крайне медленно, при выделении множества объектов одновременно
Код полной реализации с картинки-примера, ModelImporter с полем Enum, сохраняемым для каждой модели: GitHub Gist | Source code