Since Roblox put the following restriction on HumanoidDescriptions:
The type of the asset ID provided must be for a Face type asset and not a Decal or Image type asset.
Here is a function that will pass a decalID through a HumanoidDescription and set the newly-updated character’s Head.face.Texture to the decalID
local function applyDescription(humanoid, description) --I hate Roblox
pcall(function()
humanoid:ApplyDescription(description)
humanoid.Parent:FindFirstChild("Head"):FindFirstChild("face").Texture = "rbxassetid://"..description.Face
end)
end
Just realized they also don’t let you do custom shirts, etc, here is an updated script:
local function applyDescription(humanoid, description) --I hate Roblox
pcall(function()
humanoid:ApplyDescription(description)
for i, v in pairs(humanoid.Parent:GetChildren()) do
pcall(function()
if v.Name == "Head" then
v:FindFirstChild("face").Texture = "rbxassetid://"..description.Face
end
if v:IsA("Shirt") then
v.ShirtTemplate = description.Shirt
end
if v:IsA("ShirtGraphic") then
v.Graphic = description.ShirtGraphic
end
if v:IsA("Pants") then
v.PantsTemplate = description.Pants
end
end)
end
end)
end
Why do you use findfirstchild if you dont do safe checking anyways?
Just index face normally at this point.
Also man…Creating anonimous function and a pcall each iteration is just bonkers.
pairs/ipairs is not relevant in Luau since like 2023 i belive.