My apologies. I meant one that’s editable so I can go in and fix the issue. If it’s too much trouble to remove any snippets you don’t want to open to the public I understand.
I apologize for the delay. My dog decided it was a great idea to play in the mud at one in the morning so I had to clean him up once he came back inside.
As for your issue, C0 is relative to Part0 and C1 is relative to Part1. Thus, the origin for the rotation is the head of the character. If you want to avoid some inversing of the CFrames and using ToObjectSpace() and ToWorldSpace(), just set everything in your movement and rotation functions both client and server to use C1 exclusively. Then go back and fix the rotation and movement directions, because I’m sure those will screw up afterwards. Who knows? Maybe they won’t, but I’ve never gotten that lucky. Let me know how this works for you.
I actually got more into it, the way my position thing works is moving the Welds.c0 and it can only be c0 to function correctly, but to rotation needs to use c1 and only c1. So I need to find a way to swap the place of c0 and c1, But it swaps those to places causes it to be on the complete opposite side, which I can use Invert to undo.
Basically, c0 has to take place of c1, and c1 has to be at the origin 0,0,0
(I might of gotten the c0 and c1 switched up through the whole thing, I can just reverse it though)