Animation plays at original position?

I have a aim downs sights script and a gun fire animation , it works fine but the only problem is when i aim down sights and shoot the gun goes back to where i originally animated in , what i mean is that the gun goes back to its “Hip” position - to the side of the screen where it should be when NOT aiming down sights. i am absolutely clueless on what to do and i’ve done a LOT of research and I’ve look at forums , youtube and more stuff like that but nothing is helping . What should i do? *If you need a specific code i can give it to show you

Create a parent object at the same position as gun and attach the gun as child. Add the aim down sight animation to the parent and remove it from the gun. You may want to have a separate fire animation for iron sights because the recoil is less compared to hip fire.
You can play the aim animation forward or reverse. Depending on your aim state you would want to switch between the fire animations.
Hope this helps