How to change parent of gameobject during animation?

:: hierarchy

Player

  • Hand R
    • Sword
  • Hand L

I want to change sword’s parent to Hand L during animation in Unity.
like this video.
(Dynamic Reparenting with Spriter - YouTube)

It’s impossible to change transform.parent property in animation window.

I tried to add event on keyframe to change parent in script.
In that case, Reparenting is not applied in Scene Window even though event script is executed.

Please answer.

Simplest solution, make two swords, one in hand and the other in storage, then seamlessly hide/ unhide during animation