How can i set the character's limbs to can-collide true?

I’m currently trying to work around one issue of my ragdoll script: The limbs don’t collide with anything.
I’ve read up on seeing if it’s possible to turn on collision, I’ve seen a post stating it might be possible with the use of collision filters as I don’t want to turn on collision at every renderstepped.

I want to confirm that it is possible and if not is there any other work-arounds other than just updating the property constantly?

The only parts that have their collisions forced on every frame are the HumanoidRootPart, Torso and Head. Limbs can have their collision property changed without needing to hack it out.

You sure? because everytime i try to update the can-collide property of the limbs, they switch back automatically to false unless i’m doing it wrong somehow (and yes archivable property is enabled)

1 Like

What limb are you updating that’s having its collisions reverted? I don’t recall anything other than those three limbs ever having collisions forced to some value.

I’m updating limbs such as LeftUpperArm, RightLowerLeg etc, Any attempt to switch can-collide property on any of the baseparts present results in the property reverting.

c.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
		for _, v in pairs(c:GetDescendants()) do
			if v:IsA("Motor6D") then
					local a0, a1 = Instance.new("Attachment"), Instance.new("Attachment")
					a0.CFrame = v.C0
					a1.CFrame = v.C1
					a0.Parent = v.Part0
					a1.Parent = v.Part1
					a0.Name = "DeleteMe"
					a1.Name = "DeleteMe"
								
					v.Part1.CanCollide = true
					v.Part0.CanCollide = true

Sample of my code that attempts to switch the can-collide propety

Also, i’ve tried to use renderstepped and found it only runs on the client so i don’t suppose i’d be able to switch out renderstepped with say stepped or heartbeat? As i want to replicate the collision for all players to see.

Nevermind, this article here did the trick for me:

3 Likes