Решили: экранный размер юнита задаётся масштабом узла визуала (Visual Sprites/BoneVisual), а не spritePixelsToUnits в импорте частей и не правкой клипов. Фигура тира 128 при единичном масштабе занимает 1.248 мировых единицы; старый визуал давал 1.610, поэтому BoneVisual получает 1.290 и новая фигура встаёт в те же 1.609, под которые писались клипы.

Почему именно там:

  • Импорт трогать нельзя: кости рига заданы в мировых единицах под текущие спрайты, и смена spritePixelsToUnits разведёт кости со спрайтами — фигура развалится тем же способом, что и от неснятой позы покоя, только уже необратимо для всех клипов.
  • Клипы трогать не нужно: повороты масштабонезависимы, а позиционные кривые (Hips m_LocalPosition, размах 0.028 в Sprint) — локальные, поэтому едут вместе с масштабом родителя. Просадка таза остаётся в той же пропорции к фигуре, и это ровно то, чего хотелось.
  • Масштаб на узле визуала — уже существующее место: старый вид держал там 2.481.

Грабли:

  • Transform.Find ищет только прямых детей и на составном пути молча возвращает null. Первый замер масштаба дал 1.000 вместо 2.481 (BoneVisual лежит в Visual Sprites/), и число ушло бы в расчёт. Искать рекурсивно или считать lossyScale.
  • Сокеты Hit / Head / Feet / Shot Point живут в префабе ВИДА, а не в ригеRigSweep ругается «SOCKET MISSING», потому что смотрит риг. Это не дефект сборки, я приняла это за дефект и записала в отчёт зря.
  • Список частей в SkeletalBodyVisual не обновляется сам. У новой фигуры 20 рендереров против 16 у болванки (появились шея, глаза и две кисти), и список нужно пересобрать — иначе силуэт, осколки смерти и вспышка работают по старому набору.

Владелец правды: Assets/_Project/Prefabs/Units/UnitView_Human128.prefab (масштаб визуала и список частей), Assets/_Project/Prefabs/Bones/BoneUnit_Human128.prefab (риг), Assets/_Project/Scripts/Presentation/Body/SkeletalBodyVisual.cs (порядок и список частей).