How to change a location of a bone inside a skeletal mesh at runtime.

I am working on bow and arrow. and when i players starts aiming i want the string bone of bow mesh to attach to characters hand.
basically in the skeleton of my bow mesh there is a bone named bow_string. i want to dynamically set the location of that bone to attach in my characters hand.
after searching i found one way to do this is using poseable mesh component and setting the string bones location on event tick or timer. but i cant use poseable mesh component because it doesn’t allow the mesh to have animation blueprint.
i want to use the anim bp to animate the bending of bow but the string i want to attach dynamically.
I can simply animate the string as well to sync with the characters draw and aim animations but i think thats not flexible. i only know how to work with blurprints but if this is something which can only be done in c++ i will try that as well. Any help info would be a huge help.
Thank you

why not just set the bone location in the bow anim bp?
Just somehow get a reference to your character’s mesh in your bow ABP, perhaps through your character’s begin play, or the bow’s ABP initialize animation, and then either in animation update or animation threadsafe update get the socket location that you want and save it to a variable, and in your bow’s anim graph use the transform/modify bone node to set the location to the one that you got during update

This worked. i had no idea about transform bone node. thank you very much.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.