So, I have it on decently good authority (because of the plugin I just made) that the head and tail of a bone matter little when it comes to positioning.
Your particular proble looks like is a simple armature fix, you just need to know blender armatures a little to understand how to correct it.
With the armature in edit mode you should be able to select the Head (the big ball) of the good arm bone which happens to be the forearm.
Keyboard shift s for the set cursor menu and set the cursor go selected.
Now select the tail of the corresponding but incorrect upper arm bone. The little ball.
Shift s again and tell it to move Selection to cursor.
Now you need to adjust the roll. As it seems like the data is all there and that’s probably going to have to match.
Select the upper arm bad bone, and shift click the lower arm bone so its active. Ctrl + N for the roll menu and click March active.
Now you need to tell the good bone that he’s actually supposed to be connected to the bad bone.
click the good bone, in the bone tab you will find the Parent by scrolling.
it has options and obviously the “connected” property will be disconnected. Click/check connected.
Go back to pose mode and see if the animation is what you expect.
Before adjusting anything else I would do a test FBX export and import to unreal to see the results.
also, if you can provide a link to the original file that Rokoko produces I’d be interested to see if there are any better ways to import the data onto a blender armor.
after-all it’s probably just a bunch of Matrix data that needs to be sorted out into a 3d plane.