Changing Body Parts (r16)

Greetings,

I’ve been trying to change player’s body parts via character customization, however, I feel inadequate to complete this task. I tried to change it with humanoid description which I believe only works for r6. Then, I tried changing it with MeshId:

local replicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvents = replicatedStorage.RemoteEvents
local skinEvent = remoteEvents:WaitForChild("ChangeSkin")

local femaleSkin = replicatedStorage:WaitForChild("StarterFemale")
local maleSkin = replicatedStorage:WaitForChild("StarterMale")

function changeSkin(hum, bodyPart, id)
	if hum:FindFirstChild(bodyPart) then
		hum[bodyPart].MeshId = id
	end
end

function onChangeSkin(player, client, gender)
	local char = player.Character or player.CharacterAdded:Wait()
	local humanoid = char:WaitForChild("Humanoid")
	local humanoidDescription = humanoid:WaitForChild("HumanoidDescription")
	
	if gender == "Male" then
		changeSkin(char, "Head", "https://assetdelivery.roblox.com/v1/asset/?id=7672942160")
		changeSkin(char, "LeftFoot", "http://www.roblox.com/asset/?id=2496177327")
		changeSkin(char, "LeftHand", "https://assetdelivery.roblox.com/v1/asset/?id=6992929668")
		changeSkin(char, "LeftLowerArm", "http://www.roblox.com/asset/?id=2496177298")
		changeSkin(char, "LeftLowerLeg", "http://www.roblox.com/asset/?id=2496177330")
		changeSkin(char, "LeftUpperArm", "http://www.roblox.com/asset/?id=2496177304")
		changeSkin(char, "LeftUpperLeg", "http://www.roblox.com/asset/?id=2496177334")
		changeSkin(char, "LowerTorso", "http://www.roblox.com/asset/?id=2506527973")
		changeSkin(char, "RightFoot", "http://www.roblox.com/asset/?id=2496177339")
		changeSkin(char, "RightHand", "https://assetdelivery.roblox.com/v1/asset/?id=6992926707")
		changeSkin(char, "RightLowerArm", "http://www.roblox.com/asset/?id=2496177313")
		changeSkin(char, "RightLowerLeg", "http://www.roblox.com/asset/?id=2496177344")
		changeSkin(char, "RightUpperArm", "http://www.roblox.com/asset/?id=2496177315")
		changeSkin(char, "RightUpperLeg", "http://www.roblox.com/asset/?id=2496177347")
		changeSkin(char, "UpperTorso", "http://www.roblox.com/asset/?id=2506527924")
	else
		print("ok")
	end
end

This did not work because scripts don’t have permission to access MeshId. Does anyone have any suggestions?

You cannot change meshId thru script.
Are you sure humanoid description only works for r6?

I’m not exactly sure, I tried changing it, nothing; also it only prompts r6 properties as well.

image

There’s no hands, lower torso, ect.

I’m assuming you mean R15 instead of R16

Nice, but that’s not how it’s supposed to be done.

You’re supposed to use ReplaceBodyPartsR15 Humanoid:ReplaceBodyPartR15

Before setting the BodyPart, make sure you Fire to the client a request to set the Humanoid’s state of “Dead” to true, then set it back to false when the bodypart is set. This would prevent the character from dying when setting the bodypart.

What would be the syntax? I can’t seem to find it anywhere on the internet?