Тряска по идее должна исправляться простым переносом функции из Update в FixedUpdate, а насчет батареек да, я перегнул :)