:AddAccessory() doesn't position Accessories correctly

Here’s the script I’m using: (for context, this is to apply clothes and whatnot for the StarterPlayer, so doing CFrames for the Accessories wont work since each player is different)

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local id = Player.UserId
		local PlayersModel = game.Players:GetCharacterAppearanceAsync(id)
		PlayersModel.Parent = game.ServerStorage.Misc.CharModels
		
		task.wait()
		
		for i,v in pairs(PlayersModel:GetChildren()) do
			if v:IsA("Accessory") then
				Character:WaitForChild("Humanoid"):AddAccessory(v)
			elseif not v:IsA("Folder") then
				v.Parent = Player.Character
			end
			task.wait()
		end
		
		PlayersModel:Destroy()
	end)
end)

The result looks like this:
image

I’ve tried adding an attachment instance inside the handle of the attachment, but to no avail. Is there any way I can fix this?

Thank you!

1 Like

What you could do is make an offset for each accessory and set the position of the accessory according to the offset - the characters head

won’t that be hard coding, and what if a player size is different?

The player’s head size wont change but much, if it is like a 1/4 of a stud.

Even if it is not by much it is not a good practice at all, and I recommend to actually find an automatic system to position the accessories

This is fair, I might have a few screws loose :nut_and_bolt:

You might want to compare player and accessory size and position accordingly

Isn’t every accessory positioned differently? There are a ton of accessories on ROBLOX, and it would be tedious to get the right position for each of them. I would have done this if it was just one model, but this is for actual players.