How can I create an NPC of a player based on their UserId?

I am trying to create an NPC that has the same character appearance as their avatar. I want something similar to CharacterAppearanceId, except for a non-player character.

What can I do?

You could place a base NPC model (try Rig Builder that’s included with Studio), get a HumanoidDescription with Players:GetHumanoidDescriptionFromUserId, then call Humanoid:ApplyDescription with it. For example…

local UserId = 20598136
local Humanoid = script.Parent.Humanoid

local HumanoidDescription = game.Players:GetHumanoidDescriptionFromUserId(UserId)
Humanoid:ApplyDescription(HumanoidDescription)

If this is to an R15 NPC then it will adjust the scaling of the model. If you want fixed sizes, change BodyTypeScale, HeadScale, HeightScale, ProportionScale, and WidthScale of the HumanoidDescription.

7 Likes