Hello!
I’m working on a custom character system in Roblox and I want to load a premade character model (from StarterCharacterModel
, which includes parts like Humanoid
, Head
, Torso
, Welds
, etc.) onto a player.
I want to do this while preserving the player’s avatar features, such as:
- Hats
- Accessories
- Shirts and Pants
- Layered clothing
I’ve already tried using Humanoid:ApplyDescription()
to load the player’s appearance onto the premade rig, but it didn’t fully work as expected — especially when it comes to merging with the custom body parts and animation-ready setup.
What’s the best way to achieve this? Is there a proper way to transfer just the wearable items (hats, shirts, pants, etc.) without resetting or overriding the custom rig’s layout?
Any advice, workarounds, or sample scripts would be greatly appreciated. Thanks!
What you’re trying to do is possible, but it needs a mix of HumanoidDescription
and manual attachment handling.
Humanoid:ApplyDescription()
will try to apply the full avatar rig, which often breaks custom rigs. Instead, what you want to do is:
-
Use Players:GetHumanoidDescriptionFromUserId() to get just the wearable data from the player (hats, shirts, pants, etc.)
-
Manually apply only the parts you want using
Humanoid:ApplyDescription()
after removing or disabling anything that would override your rig (like body type, face, or scale)
To keep your custom rig:
- Clone the player’s accessories from the HumanoidDescription.
- Attach them manually to the correct attachment points on your custom model.
- Skip applying body parts and scale settings and only apply clothing and accessories.
You can also apply just clothing and layered clothing by modifying the HumanoidDescription
before applying it. Hope this helps.