Решили: двадцати юнитам без визуала выдали временное тело переиспользованием одиннадцати legacy спрайт-паков: пак подбирается по силуэту (мили-паки мили, посох и лук дальним), различитель внутри пака — BodyShade. Новых ассетов не создано; правились только _visual, _viewPrefab, _bodyShade в двадцати SO.

Почему: просьба звучала как «пусть даже один вид с разными тинтами», и это первое, что мы отвергли: ступеней BodyShade всего четыре, а юнитов двадцать — один пак их не разводит физически. Вторая отвергнутая — нарисовать/сгенерировать новый арт: временное тело нужно было к ближайшему прогону боя, а арт персонажей сейчас в пивоте на плоский сторибук и любая генерация ушла бы в мусор. Пара «пак + ступень» даёт 44 комбинации на 48 юнитов, и этого хватает с запасом.

Побочный выигрыш, о котором не просили: у двенадцати из двадцати _windupShare стоял в нуле, а без UnitVisual кадров для расчёта замаха нет — свинг падал на телеграф-пол в три тика и удар прилетал почти мгновенно. С паком замах считается из клипа, как у остальных.

Сказано: «Пусть даже чисто обычный с разными тинтами. Но визуал должен быть у всех-всех, чтобы я смог корректно их тестить в бою» (2026-08-03, сессия af8ef6b9).

Грабли: ступень Tan на красном не работает — это написано в её докстринге, но увидели мы это только на контактном листе: EarthGolem с Tan оказался неотличим от Druid без ступени, оба красные грибы. Переведён на Verdant. Отсюда правило для следующего, кто будет раздавать тела: вердикт даёт лист, а не таблица назначенийAlebardium/Visuals/Export Unit Visual Catalog рисует ровно игровой цвет тела, потому что берёт его из той же палитры, что бой.

Второе: шесть юнитов, у которых визуал уже был, делят пару «пак + ступень» с соседом (GoblinJester, GoblinMocker, GoblinShaman неотличимы от GoblinArcher; TrashHerbalist от LightShepherd; BanditAssassin от GoblinCutthroat; GoblinWolfrider от GoblinGrunt). Это старше нашей правки и в ней не чинилось: свободных пар осталось пять на шесть коллизий.

Владелец правды: Assets/_Project/ScriptableObjects/{Relics,Enemies}/*.asset (назначения), UnitColorRoles.BodyShade (что каждая ступень делает с цветом), ExportUnitVisualCatalog.cs (лист, на котором это проверяется).