A humanoid’s appearance can no longer be modified (is broken permanently) if moderated or invalid assets are applied through the HumanoidDescription system.
Repro steps:
Modify Humanoid’s HumanoidDescription to include an invalid head (whether it’s Content Deleted or broken in some other way)
Apply the HumanoidDescription to the Humanoid
Notice that the Humanoid’s appearance is no longer modifiable through calls to additional calls to Humanoid:ApplyDescription() if on a Roblox Client (not studio). If using studio, a warning is printed, but the Humanoid’s appearance is still modifyable through additional calls to Humanoid:ApplyDescription()
As a developer, I expect the humanoiddescription system to not be so fragile. I also expect the behavior between Studio and Client to be the same. An asset can be moderated at any time, so even if I check that the asset isn’t moderated, it could become moderated between the time I checked and the time I apply the asset to a player’s humanoid. I’ve tested this on two separate windows PCs.
The main code for the place is the following placed in a Script in Workspace:
local getHumanoidDescriptionBundle = require(game.ReplicatedStorage.getHumanoidDescriptionBundle)
game.Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
player.CharacterAppearanceLoaded:Connect(function(character)
spawn(function()
wait(10)
character.Humanoid:ApplyDescription(getHumanoidDescriptionBundle(675)) -- apply bundle with broken head
wait(7)
character.Humanoid:ApplyDescription(getHumanoidDescriptionBundle(202)) -- apply bundle with working head
end)
end)
player:LoadCharacterWithHumanoidDescription(Instance.new("HumanoidDescription"))
end
game.Players.PlayerAdded:Connect(onPlayerAdded)
The above seems to function the same on Studio and Client (note that HumanoidDescription applications are happening on server though). Please let me know whether the above is not a good test. As it appears that there are no issues here
Hey @CalGamesDev, thanks for looking into this! I tested this again in the Roblox Client and it appears to be working now. I’ll mark this thread as resolved.