How to change starter character using rope constraints?

Hello, I would like to make it so that the players spawn with their initial characters (the ones that are on their profiles) but with the characters arms replaced with rope and hands attached to the ends. I would like some help with this as it is my first time making a edited starter character type thing.


the problem is that the hands are connected by rope and i dont know how to attach that to the player.

Note: I would like the player to spawn with their normal characters but just without their arms and with the rope connecting to the hands attached to their torso instead.

local players = game.Players
		local HumanoidDesc = players:GetHumanoidDescriptionFromUserId(player.UserId)
		HumanoidDesc.Head = 0
		HumanoidDesc.LeftArm = 0
		HumanoidDesc.LeftLeg = 0
		HumanoidDesc.RightArm = 0
		HumanoidDesc.RightLeg = 0
		HumanoidDesc.Torso = 0
		wait() --Wait for desc to apply
		char.HumanoidRootPart.Anchored = false

Just change the arm meshes with your own or go ahead and replace the arms all together but make sure to rig them to the torso.

1 Like

If you place a model named “StarterCharacter” under StarterPlayer, players should spawn with that model you placed there. Not sure if it would just work though, you might have to play around a bit.

Take note that the humanoid root part (and head?) must be present in that model. You can test this by creating a blank character rig and naming it “StarterCharacter” and placing it under StarterPlayer.

1 Like

when I try this, it makes me unable to move for some reason.

How do i rig them to the torso? Also where do i put the script?

Is the model unanchored and has a humanoid in it?

it has been unanchored. I just checked

Put the script in ServerScriptService and obviously make sure it’s a server script.

If you check how a character is rigged you’ll notice a bunch of attachments, while you can use attachments, it would be easier to just use welds or Motor6Ds


Use Motor6Ds if you plan on animating the arms otherwise use welds.

You can do this inside a script like so:

local players = game.Players
		local Torso = char:WaitForChild("UpperTorso") or char:WaitForChild("Torso") --get the torso
		local leftArm_Model = nil --your left arm model
		local rightArm_Model = nil --your right arm model
		local newRightArm_Motor6D, newLeftArm_Motor6D ="Motor6D", Torso),"Motor6D", Torso)
		newLeftArm_Motor6D.Part0 = newLeftArm_Motor6D.Parent
		newLeftArm_Motor6D.Part1 = leftArm_Model --if it's a model then make sure to define a part inside it (maybe a root part)
		newRightArm_Motor6D.Part0 = newRightArm_Motor6D.Parent
		newRightArm_Motor6D.Part1 = rightArm_Model
		--And you're done

so i replace nil with workspace.model.leftArmModel / RightArmModel?

Yes change the nils with the location of your arms

1 Like

The problem is that the arms aren’t models because they are rope parts and are like weld parts.

Then just connect them the same way they are connected to that dummy.

Are you sure the weight of the hand model isnt preventing you from moving or something? id at least try massless for a sec. I dont have any other ideas rn

1 Like

i tried it, but the player wouldn’t move.

ok, thanks for the idea, ill try it now.

Here’s a character I made for your reference

StarterCharacter.rbxm (6.9 KB)

Simply put it under StarterPlayer

Hello. I wanted to do something similar to this for one of my games.

You can use this method: Humanoid:ReplaceBodyPartR15

Oh my gosh, it worked. Thanks a lot. I was wondering how do you make the rope stiffer though, so that when the player spins the rope spins with them too?