Страница 1 из 3

Maintainer [Asset Store]

СообщениеДобавлено: 23 мар 2015, 12:32
focus
Maintainer: расширение редактора с функционалом 3-в-1:

- Issues Finder: поиск и устранение проблем
- References Finder: поиск ссылок в проекте
- Project Cleaner: поиск и удаление мусора в проекте

Issues Finder

Изображение

Видео-обзор модуля



Этот модуль позволяет искать различные проблемы в вашем Unity3D проекте, будь то ссылки на несуществующие скрипты, неиспользуемые компоненты и многое другое (см. список ниже). Некоторые из этих проблем модуль способен автоматически исправлять в одиночном или в пакетном режиме.

Что может найти Issues Finder:

1. Проблемы в Game Object'ах

  • Основные
    • Missing components [Ссылки на несуществующие скрипты]
    • Duplicate components (+ Precise mode) [Дубликаты компонентов с опциональным точным режимом, учитывающим содержимое полей]
    • Missing references [Ссылки на отсутствующие объекты]
    • Objects with undefined tags [Объекты без тэга]
    • Inconsistent Terrain Data [Несоответствие Terrain Data у террейна и его коллайдера]
  • Специфичные для префаб
    • Missing prefabs [Экземпляры пропавших префаб]
    • Disconnected prefabs [Disconnected экземпляры префаб]
  • Неиспользуемые компоненты
    • Различные виды неиспользуемых компонентов, напр. MeshFilter без меша и проч.
  • Опрятность​
    • Empty array items (+ Skip prefab files) [Пустые элементы массивов с опцией пропуска экземпляров префабов]
    • Objects with unnamed layers [Объекты с безымянными слоями]
    • Objects with huge world positions [Объекты с огромными мировыми координатами (> 100 тыс по любой оси)]
2. Проблемы в настройках проекта

  • Duplicate scenes in build [Повторы сцен в списке сцен для билда]
  • Duplicates in Tags and Layers [Повторы в Tags and Layers разделе]

References Finder

Изображение

Видео-обзор модуля



Этот модуль позволяет искать ссылки на ассеты по всему проекту - в сценах, префабах, в настройках и т.д.
Крайне прост и удобен в использовании - можно искать как ссылки на все ассеты в проекте и далее фильтровать результаты, так и точечно, достаточно выбрать ассеты и в контекстом меню вызвать соответствующий пункт, или просто перетащить их во вкладку.
Результаты выводит в виде рекурсивного древа зависимостей.
При поиске кэширует данные, что позволяет повторный поиск осуществлять невероятно быстро.

Project Cleaner

Изображение

Видео-обзор модуля



Этот модуль позволяет искать и удалять мусор в вашем Unity3D проекте.
Помимо обычного удаления мусора, модуль также умеет автоматически удалять пустые папки при перекомпиляции скриптов (вам может понравиться эта опция, если вы используете систему контроля версий, которая не синхронизирует пустые папки, напр. GIT).

Общие особенности модулей:

  • Гибкие настройки фильтрации и игнорирования
  • Простая и удобная навигация по результатам поиска
  • Публичные API для встраивания в ваш пайплайн
  • Экспорт результатов для коллег напр. (пример) в некоторых модулях

Особенности плагина:


  • Поставляется с полными C# исходниками
  • "Дружит" с .NET 4.6 и Assembly Definitions
  • Интуитивен и прост в использовании, не требует наличия дополнительных знаний
  • Работает везде, где работает редактор Unity (даже в Linux)
  • Поддерживает и темный и светлый скины

Пожалуйста, прочтите поставляемый с плагином readme.pdf перед началом работы.

Цена: $20

Пожалуйста, не забывайте оставлять оценки и отзывы в Asset Store и комментарии на форуме, я буду рад знать о вашем мнении о плагине!
Спрашивайте всё, что вас интересует о Maintainer'е; отчёты об ошибках и пожелания по функционалу - приветствуются!

Asset Store
YouTube
Сайт плагина

Re: Maintainer [Asset Store]

СообщениеДобавлено: 23 мар 2015, 15:50
gnoblin
купил!

Re: Maintainer [Asset Store]

СообщениеДобавлено: 23 мар 2015, 16:08
Paul Siberdt
Спасибо... ща глянем, какой я неряха-растеряха :)

PS: хороший логотип - залог лояльности пользователей.

Update:

PPS: охеренно!
PPPS: А-а-а, @#$%! Она надо мной издевается, тычет носом в забитые недоделки! :D

Re: Maintainer [Asset Store]

СообщениеДобавлено: 23 мар 2015, 19:11
Zaicheg
Круто, посмотрим )

Re: Maintainer [Asset Store]

СообщениеДобавлено: 23 мар 2015, 22:55
focus
Привет!
Большое всем спасибо за позитивные отзывы и за ваш выбор. Я буду работать над улучшением плагина, рад что он получил положительный отклик в сообществе.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 02:03
Paul Siberdt
Предложение:
- как-нить научиться возвращаться в сцену, из которой запустили анализ.
- если ошибка найдена в новой сцене, я правлю ошибку, забываю сохраниться, жму рефреш... вопчем, все понятно. :) Хотелось бы вывести предупреждение, мол, сцену-то забыли сохранить.
- проблема с намеренно "потерянным" префабом лечится цепочкой действий а-ля:

selection = Selection.activeTransform;
PrefabUtility.DisconnectPrefabInstance(selection);

var clone = Instantiate(selection);
clone.parent = selection.parent;
clone.name = selection.name;

DestroyImmediate(selection.gameObject);
Selection.activeTransform = clone;


...и я не знаю, как можно сократить эту цепочку, чтобы до конца оторвать объект. Было бы замечательно увидеть кнопку с этой операцией а-ля дефолтовое разрешение проблемы.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 03:19
focus
Paul Siberdt писал(а):- как-нить научиться возвращаться в сцену, из которой запустили анализ.

Уже есть в планах, но все равно спасибо)

Paul Siberdt писал(а):- если ошибка найдена в новой сцене, я правлю ошибку, забываю сохраниться, жму рефреш... вопчем, все понятно. :) Хотелось бы вывести предупреждение, мол, сцену-то забыли сохранить.

А что за рефреш?
По идее при переходе к очередной ошибке в другой сцене должно появляться окошко с предложением сохранить изменения в текущей сцене. Если у вас не появляется, было бы хорошо пошаговый кейс услышать, т.к. в условно пустом проекте вроде бы оно работает (предлагает сохранить изменения в текущей сцене, прежде чем прыгать в другую).

Paul Siberdt писал(а):- проблема с намеренно "потерянным" префабом лечится цепочкой действий а-ля:

selection = Selection.activeTransform;
PrefabUtility.DisconnectPrefabInstance(selection);

var clone = Instantiate(selection);
clone.parent = selection.parent;
clone.name = selection.name;

DestroyImmediate(selection.gameObject);
Selection.activeTransform = clone;


Спасибо, добавил ваш код к своему пунктику в TODO по поводу автоотвязывания дисконнектнутых префаб ^^

Paul Siberdt писал(а):...и я не знаю, как можно сократить эту цепочку, чтобы до конца оторвать объект. Было бы замечательно увидеть кнопку с этой операцией а-ля дефолтовое разрешение проблемы.

У некоторых проблем, которые можно решить автоматически, будут кнопки "fix" или типа того.

Ещё раз спасибо за фидбэк, все или почти все будет учтено в последующих обновлениях.
Планов и идей по развитию плагина на самом деле довольно много, потому не могу даже примерно озвучить сроки реализации этих фич, однако те вещи, которые чаще запрашивают имеют больший приоритет и поднимаются выше в TODO.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 03:37
Paul Siberdt
А что за рефреш?


Ну, просканил проект, получил стопицот пометок.
Первая ошибка - дисконнектнутый префаб. Тыкаю Show, выскакивает предупреждение о сохранении.. круто.. сохранился... попадаю в другую сцену, исправляю ошибку, не сохраняюсь и жму Find Issues, дабы убедиться, что список уменьшился на единицу... и список остался тем же, и снова первая ошибка - тот же потерянный префаб в той же сцене :)

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 03:39
focus
Спасибо, видимо не сработала проверка при запуске сканирования, отмечу это у себя и проверю.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 04:03
Paul Siberdt
...потому не могу даже примерно озвучить сроки реализации этих фич...

Дык, это не то, чтобы фичи, так, причесывания. Утилита уже за первые десять минут ознакомления отработала на все 410% :)

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 11:23
focus
Спасибо, рад слышать!)

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 15:14
Paul Siberdt
Предепреждения не появляются:
- Missing Reference
- По полному отрыванию оторванного от префаба объекта сцены (Блин, похоже, это моя ошибка. Это я не регистрирую изменение в сцене после выполнения своей цепочки замены объекта)

Предепреждения появляются:
- Когда я вручную заменяю в сцене объекты, предупреждение о сохранении появляется.
- Renderer Without Material
- GameObject With Unnamed Layer

Еще идея (не знаю, можно ли это сделать) но, IMHO, при таких прыжках по сценам была бы полезна кнопка "подсветить файл открытой сцены в проекте". Если сцен много и если проект Юнити - это несколько десятков отдельных прототипов, искать открытую сцену по одному ишь названию (как правило, для каждого прототипа название простое - scene O:-) ) - это головомойка та еще :D

Update... ой... утилита уже пишет путь к сцене. С поиском сцены все намана.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 15:26
focus
Paul Siberdt писал(а):Предепреждения не появляются:
- Missing Reference
- По полному отрыванию оторванного от префаба объекта сцены

Предепреждения появляются:
- Когда я вручную заменяю в сцене объекты, предупреждение о сохранении появляется.
- Renderer Without Material
- GameObject With Unnamed Layer


Предупреждения о сохранении у меня выводятся с помощью http://docs.unity3d.com/ScriptReference ... ntsTo.html
Видимо Юнити по каким-то причинам не понимает, что сцена изменилась, раз не выдаёт предупреждение...

Paul Siberdt писал(а):Еще идея (не знаю, можно ли это сделать) но, IMHO, при таких прыжках по сценам была бы полезна кнопка "подсветить файл открытой сцены в проекте". Если сцен много и если проект Юнити - это несколько десятков отдельных прототипов, искать открытую сцену по одному ишь названию (как правило, для каждого прототипа название простое - scene O:-) ) - это головомойка та еще :D

Update... ой... утилита уже пишет путь к сцене. С поиском сцены все намана.

Кстати, верная мысль, можно сделать кнопку а-ля "выбрать файл сцены в проекте". В общем добавлю в TODO, что-нибудь такое сделаю, удобней будет, спасибо.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 15:33
Paul Siberdt
Еще вариант... для каждой проблемки сделать кнопку Update, по которой проверяется именно она и, если проблема оказалась исправлена, ее удаляем из текущего списка.
Для чего? Чтобы заново не рефрешить анализ всего проекта (процесс может быть долгий, да и излишний), когда хочется убедиться в исправлении лишь одной проблемки.

Re: Maintainer [Asset Store]

СообщениеДобавлено: 24 мар 2015, 15:39
focus
Да, это уже есть в планах (возможность помечать или полностью удалять исправленные проблемы), но опять же, спасибо за фидбэк!