How to keep bone rotation's relative

I am attempting to implement a DH matrix system to represent the rotations of each bone in the avatar. To adjust the rotation I have been using Yaw/Pitch/Roll(x/y/z), which for a single joint works well; however, when I rotate the Shoulder 90* in the Yaw direction, the Elbow being a child joint is similarly effected resulting in a 90* rotation in the Yaw direction, which results in the a flip of the Pitch/Roll. I need to find a way such that the relative rotation of a parent joint is applied to the child joint, but maintain a separate axis of rotation on each bone. (The data utilized for bone rotation is from an XML file, so preferably a method in C++ would be best, but if this is possible in blueprint I’m all ears.)

Further explanation:
If Shoulder was at (0,0,0) = Yaw/Pitch/Roll
And Elbow is at [0,0,0] = Yaw/Pitch/Roll
When I rotate Shoulder by 90* in Yaw, I need the elbow to visually rotate as well, but have their rotations be…
Shoulder = [90,0,0]
Elbow = [0,0,0]
This way I can apply a rotation at each bone without having to consider how the bone was altered by its parent

Thank you

It sounds like you’re describing a local transform? A pose in Unreal (like most 3D software) is a collection of local bone transforms where each bone’s transform is specified in the frame of the parent bone’s transform. You haven’t said what your setup is so I’m not sure how to solve your specific problem. For a poseable mesh with a normal, hierarchical skeleton you’d set an array of local transforms, and that should naturally have the behavior you’re looking for.