HumanoidDescription won't allow for a face update

Hello. Today I have noticed a bug related to HumanoidDescription.


Information about the bug:

  • Spotted today.
  • Bug happens in Studio and on actual site.
  • I feel like bug started lately, since I’ve seen faces update properly in past.

Worthy details:

  • Using InsertService to insert faces works. Inserting them won’t fix the behavior.
  • You become faceless only when you use a non-default face.
  • When you use a default face, the default face stays.

Script I have used:

local function ChangeFace(humanoid, face)
    if not humanoid or humanoid.Health <= 0 then return end
    local desc = humanoid:FindFirstChildOfClass("HumanoidDescription")
    if not desc then return end
    local oldFace = desc.Face
    desc.Face = face or 0
    humanoid:ApplyDescription(desc)
    return oldFace
end

I have used InsertService to see if faces load - they do.
I feel like some HumanoidDescription logic responsible for placing faces in the head broke.

there might be a subtle bug here, as you shouldn’t manually make changes to the HumanoidDescription found under Humanoid. Try this and please let me know if it fixes your issue:

local function ChangeFace(humanoid, face)
    if not humanoid or humanoid.Health <= 0 then return end
    local oldDesc = humanoid:FindFirstChildOfClass("HumanoidDescription")
    if not oldDesc then return end
    local desc = oldDesc:clone()
    local oldFace = desc.Face
    desc.Face = face or 0
    humanoid:ApplyDescription(desc)
    return oldFace
end
1 Like

Oh yeah, this seems to work.

Was it always like that? I swear I remember it used to update without having to clone the description.

the code you had would’ve always caused issues, but you may have had slightly different code which did work