Attach a weapon sprite to a character sprite

Hi. So I have a weapon sprite (sword) and a character sprite. What I’d like to do with them is to have the character pick up the sword and attach the sword to the hand of the character.

Now what I do is since I’m using rigging to animate my character, I make the sword a child of my character then animate the sword using recording animation. Then I deactivate the sword in inspectors and add a sword pickup trigger in scene so that upon entering the trigger my character would switch animation.

It works well until I try swapping another weapon by swapping the sprite in Sprite Renderer, upon swapping the weapon in my hand would locate itself somewhere else in the scene. Not only that but the way of my method is kinda unclean as I have to make a separate animation set for animation with weapon and without weapon.

I know this question has been asked but does anyone know a proper/best method to achieve it in my case?

I never had to do this, and i dont know if it have some problem, but I supose should do this:

Have all the weapons attached to the hand from the begining. One object for each weapon, with its image renderer, collider, script, (or what you have in). An during game, just activate/desactivate the whole weapon object. (so scripts and colliders also turn off).

This way is super easy to change weapons!