Need help in properly rotating a bone on its local axis

I am having difficulty trying to set the rotation of a bone on its local orientation. I am using the default “UE4 Mannequin: Mobile” from the market place.
To test, I have made the “R” key to set the rotation of the right upper arm bone to rotate 90 degrees on its local x-axis and it seems to be working:

My problem is that as I keep pressing the “R” key, the bone will continue to rotate which means that the “Transform from Bone Space” Function is additive.

I want it so that pressing the “R” key only sets the rotation at 90, and pressing it again will always keep it at the same orientation. I have tried resetting the bone transformation before applying the rotation but the problem still remains.

My end goal is to have an Inertial Movement Unit continuously feed rotational data to the bone, so using this method to update the rotation will only add to the current rotation and produce an unpredictable behavior.

  • How do I set the local orientation of the bone?
  • Is what I have done even the proper way to rotate the bone on its local axis?
  • Is it better to continuously feed orientations data in an animated blueprint of the Poseable Mesh instead of an actor class?