Humanoid:ApplyDescriptionReset() will NOT work properly for UGC Layered Clothing

Case in point: Run this code twice, once in a script with RunContext Server and one with RunContext Client. I discovered this was the case of the given AssetId but it applies to others as well. Is this a misunderstanding on my part or is this an internal error with Humanoids?

local function MakeLoaderHumanoid()
	local LoaderModel = Instance.new("Model") -- Load accessory for a "fake" R15 rig
	local LoaderHumanoid = Instance.new("Humanoid")
	LoaderHumanoid.RigType = Enum.HumanoidRigType.R15
	LoaderHumanoid.Parent = LoaderModel
	local LoaderRoot = Instance.new("Part")
	LoaderRoot.Name = "HumanoidRootPart"
	LoaderRoot.Size = Vector3.new(2,2,1)
	LoaderRoot.Anchored = true
	LoaderRoot.Parent = LoaderModel
	LoaderModel.Parent = game:GetService("ServerStorage")
	LoaderHumanoid:ClearAllChildren()
	return LoaderHumanoid,LoaderModel
end
local function LoadAsset(HumanoidDescription,ClassName)-- Loads this HumanoidDescription and gets the first asset that matches ClassName
	local LoaderHumanoid,LoaderModel = MakeLoaderHumanoid()
	local AddedAssets = {}
	LoaderModel.Parent = workspace
	HumanoidDescription.Parent = LoaderHumanoid
	LoaderHumanoid:ApplyDescriptionReset(HumanoidDescription)
end
local function LoadAccessory(AssetId,AccessoryType) -- Returns a created asset by doing hacky methods to make them on client
	local LoaderDescription = Instance.new("HumanoidDescription")
	LoaderDescription.WaistAccessory = AssetId
	return LoadAsset(LoaderDescription,"Accessory")
end
task.wait(2)
LoadAccessory(18937787242,Enum.AvatarAssetType.Pants)

If you have ran the above, you will notice in one of the loaderrigs there will be an Accessory whilst the other (Runcontext = Client) will not have it.
image
image
This is extremely frustrating. Keep in mind this is ONLY the case for UGC Layered Clothing. It does NOT apply to Roblox owned layered clothing or non layered UGC Accessories, for example running the exact same code with a Roblox owned LayeredClothing, or any non-layered accessory both rigs will have properly loaded the asset.

5 Likes