Change transform of child in animation at same frame rate as parent

Hello. I´m working on a 2D animation, body and weapon are two different sprites. I´ve tried to change the position by using position and rotation properties in the animator. The problem is that the position does change between the sprite changes of the body which leads to the weapon flying around. How can I change the transform only on frame change with the same frame rate as the body-animation?

No idea how animations work, but if you just want to attach the sword to the hand I think you could use regular object parenting. You could add a Sprite Skin component and expose your skeleton nodes in the hierarchy pressing the Create Bones button. Then just drop you sword object in the hand node and it should be attached. Of course if the relative position/rotation of the sword must change during the animation that won't be enough.

Are you using separate Animators for the body and the weapon? If you want to synchronize changes across multiple components, the simplest way is to control everything from a single Animator. Then you can specify which frame to change both the sprite and the weapon position.