Accessories on new rig behave weirdly

Hey guys! I’m having issues with accessories on the new dynamic faces rig!

How it should be:


How it is:

Attachments are all good, they’re lined up via script

The issue is, is that it’s doing some weird scaling thing to the meshes and making them appear like that, does anyone know how to get rid of that behaviour. It would be greatly appreciated, thank you!

Can you show us the code?
Make sure you didn’t set your character size to 0.9 or something too

local Retarget_Table = {
	["UpperChest"] = "UpperTorso",
	["LowerChest"] = "LowerTorso",
	["UpperLeftArm"] = "LeftUpperArm",
	["LowerLeftArm"] = "LeftLowerArm",
	["UpperRightArm"] = "RightUpperArm",
	["LowerRightArm"] = "RightLowerArm"

local Rig = game.Workspace.Autorig.Rig:GetChildren()
Rig = Rig[1]

local Armour = game.Workspace.Autorig.Armour:GetChildren()

local Already_Attachment = true

Change_Service:SetWaypoint("Starting Autorigger..")

for Index, Value in Armour do
	local Name = Value.Name:split("_")[2]
	local Complementary = Rig:FindFirstChild(Retarget_Table[Name])
	if Complementary then
		if Already_Attachment then
			local Attachment
			for Index2, Value2 in Value:GetDescendants() do
				if Value2:IsA("Attachment") then
					Attachment = Value2
			if Attachment then
				local Complementary_Attachment = Complementary:FindFirstChild(Attachment.Name)
				if Complementary_Attachment then
					Attachment.WorldPosition = Complementary_Attachment.WorldPosition
					print("Completed ".. Value.Name)
					warn("Complementary attachment of ".. Attachment.Name .." belonging to ".. Value.Name .." not found!")
				warn("Attachment of ".. Value.Name .." not found!")
		warn("Complementary of ".. Value.Name .. " not found!")

print("-- Finished --")

All it does is just change attachment positions

Have a look at the meshdata in viewport and then in testmode. Maybe that’ll give some information. Specifically, see how much the size changes

They do seem to change, not massively, but enough to I think give that off looking scale

LowerChest: 2.114, 0.468, 1.424 → 2.084, 0.575, 1.541
UpperChest: 2.114, 1.614, 1.424 → 2.084, 1.983, 1.541
UpperRightArm: 1.29, 1.122, 1.354 → 1.151, 1.647, 1.399
LowerRightArm: 1.29, 0.652, 1.354 → 1.151, 0.958, 1.399
UpperLeftArm: 1.29, 1.122, 1.354 → 1.151, 1.647, 1.399
LowerLeftArm: 1.29, 0.652, 1.354 → 1.151, 0.958, 1.399

The name is the armour component, 1st number is the original size , 2nd number is the size after it’s been put onto the character
The autocreated originalsize within each armour component is the same as the 1st number

Do you have any clue what’s causing it to change scale?

Hard to say without looking at it myself. Are you using a meshpart? Or a part, with a SpecialMesh instance in it?

Also, you don’t really have any welding logic in the script you sent. Just positioning.

Yeah, I rely upon roblox’s accessory system which on the previous rig worked great


It’s an accessory with a meshpart in it, and then an attachment to make it go onto the correct place

Yea but this isn’t being welded, is it?

Roblox autocreates the welds, as it is an accessory. It’s the same way any catalog item works

Also the script, I run within studio itself just once to generate the correct attachment position. Then ingame, i can just parent the accessory to a rig

Can you send me the file? You can get rid of your meshes etc

Yeah sure, let me just prepare the file, I’ll reply with a new message once i am done

This should be it, and allows you to see the same issue:

Example.rbxl (74.6 KB)

The autorig is in there, aswell as 2 example armour components. Within starterplayer i’ve also put a starter character where you can put the armour components after you’ve finished with them to test them ingame.

Also thanks!

OK, think I found the issue. 1 sec, fixing it for you


Yep, it’s working.

Great! Hopefully it works, it would really help out! Could you explain what the issue was? It’d help me learn

	if Complementary_Attachment then
					Attachment.WorldPosition = Complementary_Attachment.WorldPosition
					Value.Parent = Rig
					print("Completed ".. Value.Name)

Well, I actually didn’t have that scaling issue. For me it was just not welding. I fixed that. You just forgot to parent it.

1 Like

Oh, i do parent it, i just drag it into my startercharacter

Can you see here also how it didn’t position it properly

Oh right hold on then I probably didn’t fix it

Here’s a video of what I do:

Hopefully it provides more insight

In the video, it’s parenting an older version instead of using the starter character one, i’ve now disabled that script and the result is even worse