Sorry, I couldn't think of a better question title.
First of all, I've built a custom character not too unlike the default character, but with the exception that this character's legs and its arms are not conjoined to the same part, so it has a hip part to connect to the legs, and a torso part to connect to the arms. These parts are connected to one another in a way that allows the upper body to be angled in a direction other than the way the character is walking.
The Motor6D connecting the torso and hip is inside of the hip, its Part0 being the hip and Part1 being the torso. This Motor's DisiredAngle is where the upper body faces. The HumanoidRootPart's main Motor6D has been changed so it connects to the hip instead of the torso. I've also changed the C0 and C1 already so that it rotates about the Y-axis.
I've tested this with the animation editor plugin, and it all works as expected. The legs swing, the arms swing, and the torso is able to rotate freely about the Y-axis. However, when I load in as this custom character model and set an angle for the upper body. It snaps back to the direction the character is facing whenever I walk.
The character is able to play idle animations without snapping the torso back; how is this any different?
Pictures for reference: Not Walking: http://i.imgur.com/ZWywr4b.png Walking: http://i.imgur.com/xC5RxqN.png
Any insight into how I might fix this is appreciated.