- Yes needed for custom rigs
- Ternary operators are a preference in this case it made the line very long so I didnt use it
- Wow. Genius
- I just realized Im getting ragebaited and it’s working LOL
:FindFirstChild(“Animator”, true)
local humanoid = if character:FindFirstChild("Humanoid") then character.Humanoid else nil
- can be shorter if you make the character be just char
yes ik
It’s so funny cuz somehow thats more characters
Ok what do you have with code width lenght ?
Yes it is longer in width, but it’s also shorter in height!!!
im using it for one of my projects, so no
lmfaoo, i looked at it last night and i was tired i couldve sworn the code was clean but i guess i hallucinated it ![]()
“Your gold is bad look at my gold it’s better than yours but it’s only mine.”
Who cares then
You are comparing a close source resource to open source free resource. The irony
Yall are actually ragebaiting ![]()
![]()
welcome to 2026 where having an opinion or being correct is known as ragebaiting
Maybe give some feedback and constructive criticism of where the code fails being clear and clean
dawg you asked??? like what??
also so what if its closed source or not? i made it all myself, you made yours all yourself, them being opensource or not changes nothing
this is like the one time on the devforum ever that im not ragebaiting
Well if it’s closed source and you can’t really show any better alternatives then it makes no sense say “this ragdoll module is bad” because none of the people here can benefit from it.
I would like to know what are the points I can improve.
And also ryan is ragebaiting there is nothing wrong with the code quality. If you think something is wrong with the code I would like to know. Thanks in advance
im arguing that YOUR MODULE ISNT HIGH QUALITY not that there isnt better alternatives. Im pretty sure almost every single ragdoll resource on here is all the same barebones bs, youre all equal in terms of quality
-
nothing is documented. Not a single comment anywhere.
-
you have random useless functions (GetCharacterRagdollInfo, IsModel, GetRigType)
-
InstanceQuery being completely unneeded and just overcomplicates things.
-
You have a memory leak.
-
Platform stand here is just useless because youre already setting the state to be physics
humanoid.RequiresNeck = false
humanoid.PlatformStand = true
humanoid.AutoRotate = false
humanoid:ChangeState(Enum.HumanoidStateType.Physics)
- You never store the attachments in the info.attachments and yet you loop through the info.attachments to destroy the attachments that you never added.
and im sure there is even more issues that i missed too
Thank you for pointing out all the issues. Let me go through them one by one and Ill release a fix as soon as possible.
- I always believe code should be self explanatory for the most part. It makes no sense to say – Loop over joints and replace them with socket constraints. Cuz you can read the code
- Legacy stuff I forgot about (I used to have that function used everywhere
- It prevents from looping over all descendants or searching all descendants. It’s pretty performant and it has a use which is to pinpoint a path to the exact asset you need under character.
- I am connecting to character.Destroying but I guess roblox doesn’t fire it. I will look into it.
- I used to only use platform stand until realizing it was not safe.
- I am creating attachments myself. (I realized Im not caching them thanks again)
I doubt this is equal. Most ragdoll systems here dont even make an effort to make it into a ragdoll module let alone manage humanoid states, network ownership or try to be configurable and flexible.
This is a ballsocket ragdoll module. And doesn’t try to be more than that.
Thanks for the feedback! I will release a patch asap
the fact that you have a 167 line license for this shit is crazy.
what if it’s just your ego telling you that? You’re overconfident that your code is great.
What if you don’t know what you’re talking about in the slightest sense
type checking is needed for native as it makes the compiler know what the variable will be and will optimize for it.
Besides making the API calls type checked so it’s easier to use, using strict is not needed.
Btw sorry for late response yes they are ball socket. Ill make a disclaimer in the post
His system actually looks better sorry , and these kinds of ragdoll systems are all fairly “basic” anyways by definition so not sure what you’re getting at.
But regardless , there’s no reason to be so rude about a free community resource someone put effort into making for others.
If you don’t like it just don’t say anything , it’s not like he’s charging money for it.
From first glance yours looks worse to me, but it’s not even important. Community resources isn’t a place to criticize people in a condescending way for their creations - especially free ones
It’s not an ego contest , and most of the time anyone who comes in here acting like that has never actually made or accomplished anything significant - they’re too busy wasting their time talking bad about people actually doing cool things

