Local position of child after animation is over

I am new to Unity and trying to create one simple scene. Initial local position of the game object is (0,0,-0.35). My model when touched runs an attack animation and moves forward by some distance. After animation is over I noticed that local position remains unchanged.

I am puzzled by this as I wanted to move object to its original local position (0,0,-0.35) by pressing a refresh button. Can someone help me to understand why local position remains same when animation moves the object.

If I understand you - generally video games work like this

You have a dog, say.

there is an animation of the dog “walking”

Note that the animator makes the dog WALK ON THE SPOT. he does NOT MOVE ALONG, but his legs, hips etc move as if he is moving.

As the programmer, YOU actually move the dog.

This might sound strange if you’re brand-new to it but that’s how it works.

So in Unity you will use something like Translate, .position, SimpleMove, Move or whatever. Read the documentation on those.

So again you play the animation which is the dog running ON THE SPOT, but YOU the programmer actually move it.

You have to choose the right speed/distance to move it so the animation looks correct.

Always work in actual meters / kilograms in Unity for your simplicity.