StarterCharacter's Motor6D gets changed and can't find any documentation about it

Not sure if it’s really the right category, but whatever.

Upon putting in StarterCharacter, Roblox adjusts its Motor6D, which ends up breaking everything.

The highlighted area is the model I put as StarterCharacter; the non-highlighted area is a character Roblox assigns to a player.

It ends up breaking animations and the game as a whole.

Expected animation:


Animation that plays with an unknowingly modified rig:

The current solution I have is to not use StarterCharacter at all and instead make a custom character loader, but that’s not really a great solution.

My best guess without a look at the rig itself is that it’s a humanoid thing since R15 humanoids use rig attachment points to set up the joints on characters. New joints are created on initialization using the attachment points, if present; changing the joints directly doesn’t do anything unless you delete the rig attachments. They’re the attachments suffixed with “RigAttachment” found in each body part.

You can just delete all of them except the RootRigAttachment in the lower torso without any consequence if you’d rather use joints directly. Otherwise you’ll have to position the attachments as desired

1 Like

there are objects called OriginalPosition in each of the limbs - they store default positions for the Motor6Ds

1 Like

I can’t really do that
Otherwise it looks very odd, and hands do not get corrected properly.

The best solution I came up with was ditching StarterCharacter entirely and instead using a custom character loader.

Also is there any documentation surrounding this behavior?

You mean OriginalSize?

Never heard of OriginalPosition; could you provide docs about it?

There’s a Characters docs page that mentions how joints are made from attachments but it doesn’t get into any specifics. The :BuildRigFromAttachments() humanoid method also touches on it slightly but is similarly vague in specifics

1 Like

I think they were referring to the OriginalPosition Vector3Value that’s created inside of the rig attachment points

1 Like