Humanoid:ApplyDescription doesn't apply accessories correctly

Hi all, I am using Humanoid:ApplyDescription for the dummy in my emotes shop (locally), and it seems to apply the characters accessories incorrectly.

image

My code (inside the dummy, local script):

local Players = game:GetService("Players")
local Replicated = game:GetService("ReplicatedStorage")

local dummy = script.Parent
local player = Players.LocalPlayer
local id = player.UserId
local Description = Players:GetHumanoidDescriptionFromUserId(player.UserId)

task.wait(1)
dummy.Humanoid:ApplyDescription(Description)

Any help would be appreciated, thanks!

1 Like

This should work:

local Players = game:GetService("Players")
local Replicated = game:GetService("ReplicatedStorage")

local dummy = script.Parent
local player = Players.LocalPlayer

local character = player.Character:Clone()
character.Parent = dummy

character:WaitForChild("Humanoid")

local originalCharacter = player.Character
local originalAccessories = originalCharacter:GetAccessories()

local clonedAccessories = character:GetAccessories()
for _, accessory in pairs(originalAccessories) do
    local clonedAccessory = Instance.new("Accessory")
    clonedAccessory.Name = accessory.Name
    clonedAccessory.Parent = clonedAccessories

    for property, value in pairs(accessory:GetAttributes()) do
        clonedAccessory:SetAttribute(property, value)
    end
end

character.Humanoid:ApplyDescription(player:GetHumanoidDescription())

-- Remove the original character (optional)
originalCharacter:Destroy()
1 Like

errors with this


my dummy is in replicated storage and i basically clone it straight away to my emotes frame.

i tried to check if the character exists in the workspace, i tried waits but the same error still persists.