puk999, ладно, тогда проанализирую ваш код:
С точки зрения читабельности - отвратительно. Названия методов, переменных и т.п. должны быть самодескриптивными, то есть - название должно давать примерное представление о функциональности.
Эти вектора безумные - лучше вынести в отдельные переменные с понятными названиями, и их переиспользовать. Это и на производительности скажется положительно.
Также - я обычно выношу весь функционал, вызываемый хуками, в отдельные методы, тоже полезно для читабельности кода. Когда начнете ваять компоненты на 2к строк - поймете, что это важно.
FixedUpdate 1-го скрипта:
Ваш if-elseif можно превратить в один лишь if, дабы не повторять код:
if (move > 0 && !isFacingRight || move < 0 && isFacingRight)
{
Flip();
}
На кой хер это нужно, вообще не шарю:
if (!isGround)
return;
Этот вот метод больше нигде не вызывается, нахрен он существует? Тогда уж все из Update перенесите в отдельный метод, и туда же всуньте логику puk()
Такая же претензия к методу kok() во втором скрипте.
Ну и в целом код выглядит очень разнообразным, такого быть не должно, придерживайтесь одного стиля.
Также - не злоупотребляйте GetComponent'ами, они не бесплатные, в плане производительности, лучше все, что будете использовать, заранее в Start/Awake вытащить в поля, и их уже использовать.
Как то так.