Im trying to put the default avatars face on a custom avatar. The custom avatar is just an R6 Rig.
This is what i have. I dont understand why this doesn’t work. Let me know if anyone can see the issue with this.
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local head = character:WaitForChild("Head")
-- Removes existing face decal from StarterCharacter
local existingFace = head:FindFirstChild("face")
if existingFace then
existingFace:Destroy()
end
-- Clone the player's face decal
local face = game.Players:GetHumanoidDescriptionFromUserId(player.UserId).Face
if face and face ~= 0 then
local newFace = Instance.new("Decal")
newFace.Name = "face"
newFace.Texture = "rbxassetid://" .. tostring(face)
newFace.Parent = head
end
end)
end)
Extra.
→ This is a ServerScript located in ServerScriptService
→ This is done on a Roblox Default R6 Rig Custom Character. (Rig Isn’t Custom. Its made by Roblox)
The face just goes blank when I do this method. I checked the decal value, and yes it’s got the ID in it but the face isnt loaded onto it for some reason.
well im just taking a quick glance so maybe i missed something but if you use existingFace to destroy it then it wouldnt work because i mean you can infer the face isnt there by my explanation
Found a lazy workable solution. For anyone out there trying to do the same, here’s a method that works. It must be backed by a server script. I just get UserDescription from UserId and then remove the accessories and apply the description and it slaps it on the face.