How would I increase the size of an NPC along with it's accessories?

I want to increase the size of my NPCs but still make them animatable and keep their accessories in the right position/size. How would I do this?

Note: I’m not tweening the size or anything. I just want to change it to a bigger value.

1 Like

There are different ways to achieve this depending on whether you are using R6 or R15 rigs. Which are you using?

R15

This text will be blurred

I’d recommend posting stuff like this in #help-and-feedback:scripting-support.

Change the NumberValues in the humanoid:
image

Edit:
NVM, for NPCs you can use Humanoid:ApplyDescription and HumanoidDescription HeightScale/HeightScale/DepthScale/etc. You can find those properties here:
https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription

local function ApplyScaling(Character : Model, Scale : number)
	local Motors = {}

	table.insert(Motors, Character.HumanoidRootPart.RootJoint)
	for i,Motor in pairs(Character.Torso:GetChildren()) do
		if Motor:IsA("Motor6D") == false then continue end
		table.insert(Motors, Motor)
	end
	for i,v in pairs(Motors) do
		v.C0 = CFrame.new((v.C0.Position * Scale)) * (v.C0 - v.C0.Position)
		v.C1 = CFrame.new((v.C1.Position * Scale)) * (v.C1 - v.C1.Position)
	end


	for i,Part in pairs(Character:GetChildren()) do
		if Part:IsA("BasePart") == false then continue end
		Part.Size *= Scale
		for _,Attachment in pairs(Part:GetChildren()) do
			if Attachment:IsA("Attachment") == false then continue end
			Attachment.Position *= Scale
		end
	end

	
	for i,Accessory in pairs(Character:GetChildren()) do
		if Accessory:IsA("Accessory") == false then continue end

		Accessory.Handle.AccessoryWeld.C0 = CFrame.new((Accessory.Handle.AccessoryWeld.C0.Position * Scale)) * (Accessory.Handle.AccessoryWeld.C0 - Accessory.Handle.AccessoryWeld.C0.Position)
		Accessory.Handle.AccessoryWeld.C1 = CFrame.new((Accessory.Handle.AccessoryWeld.C1.Position * Scale)) * (Accessory.Handle.AccessoryWeld.C1 - Accessory.Handle.AccessoryWeld.C1.Position)

		if Accessory.Handle:FindFirstChildOfClass("SpecialMesh") then
			Accessory.Handle:FindFirstChildOfClass("SpecialMesh").Scale *= Scale
		end
	end
end
1 Like