#RagdollService - All in one high quality ragdoll solution!
1 messages Β· Page 2 of 1
set the ragdoll when character spawns
only once
and then you can call activate ragdoll
Ohh okay
and deactivate ragdolll
I just need to activate it when my char dies honestly
yeah in that case
setup ragdoll is needed
cuz dying has some unrevertable consequences
which makes on death ragdoll almost impossible
without setting it up beforehand
all you need is what the example place file does
Oh there is?
yep
Cuz rn ragdoll so bugged for some reason LOL
Ragdoll utility module showcase!
Forum Post: https://devforum.roblox.com/t/ragdollservice-all-in-one-high-quality-ragdoll-solution/4255978
uncopylocked
also it shouldn't really be buggy if you setupragdoll when character spawns
and activate it when death occurs
Yeah that's exactly what i'm doing
Tho i'm doing it on client cause network time affect the time before it ragdolls
you can't do client
unless it's a client created rig
mmmh
And does it replicate to all clients?
ofc
Smoothly?
Okay
ohh
make a motor6d and clone the char on client
I do that for npcs, but now i'm doing players ragdolls
attach with motor6d
and then ragdoll the attached rig
from client
pretty simple
give it a shot
its extremely easy
Oh i don't need that
I dont get it
same principal really
it's easier to make it accurate than not tbf
attaching a motor6d takes 5 seconds
either way you'll need a mask
I'll redownload ur ragdoll cause i removed the entire ragdoll remote stuff
so das basically all i gotta do on server?
no
on client
cuz you want to mask
masking is client prediction
tf
so basically you don't do .Activate ragdoll
instead you make a new remote event
call it RagdollEvent
I'm so lost β οΈ
yep
it fire the character
that's it then
and on client it setup the ragdoll and activate it
lmao
it's made that way
you can change the config
I think the ragdoll doesn't kick in because it's in death state
Yeah
cuz copied the humanoid state too
It is infact in death state
ngl my idea was more like
For local client, ragdoll on their side
When client dies on server, server fire for every other client that client character and create a mask for it etc and then ragdoll it while excluding the player who died since their ragdoll is already handled on their client
you can do that ig
it's just same thing a bit more optimized
ye and also client who died will have immediate feedback
Im gonna fix collission issues rn
cuz I tried with delay and my ragdoll was delayed
lets see if this works
the thing
is
you need to mask
if you want instant
even on your own client
that's just how roblox works
so a better approach is masking everybody
ngl idek why sometime the simplest thing takes hours to implement cuz of roblox
God damn
auggh
I got some pretty good results btw
show
try it with network ping
amazing
I basically do it instantly on our client
by connecting to died directly
and for other clients its a remote
I have some bugs apparently
it works good for single client
but multi client is bugged
okay this works great
@green grove
oo thx
should I make Masking a native feature
or let it be implemented via existing functionality
honestly I think Ill let it be custom implemented
cuz this is a very specific use case
yeahhh
does this work for you
It does yeah
an update is coming π
the "screw roblox quirks" update
sneak peek
seperating ragdoll assets to a seperate folder
hopefully ragdolls won't break on ApplyDescription
guys I found out an interesting info
if you apply description then the engine goes back to automatic ownership
so after each apply description the owner must be set to nil again for npcs
π
At this point, it's easier to make custom humanoid... π
there are so many weird behaviors with humanoids
that Im starting to think about making custom
also I don't think I can update the module for such a cosmetic change
π₯
yeah we'll keep it as is
Ill just release a hotfix for the root part bs
@green grove I just realized all these games that promote "realistic ragdoll physics" are in fact using masks
I think what's going on is mask is used to calculate physics and the actual character is used to display
cuz tools don't break even with masks which means they use it as a physics masks
whats a mask-
it's just a temporary object created seperately from the actual character
masks are a very old technique in game dev
even used in original sm64
the idea is mask only does 1 job and it's either presentation or calculation
so you seperate concerns for less bugginess
oh so like invisible 2nd fake character sort of
exactly
but it can be visible too
if mask is a presentation mask it's visible and the actual character is hidden
if it's a physics mask then it's invisible
I realized this cuz when I tried to unragdoll I was getting teleported slightly instead of staying place
Version 1.4 hotfix 4
- Increased safety for network owner operations
NOOOO
not again...
LOL
Hotfix are just fixes in a backwards compatible matter, thus 1.4.4!!!!
π₯
I wouldn't ever use an older version anyways unless there's a really good reason to
they are old versions for a reason
Honestly I find if more funny that discord version of Linux is something like 0.0.185
also since 1.0 all versions have been drop in replacement
π what
they never reaching 1.0.0
I mean... I get it why
(This happened when someone watched my screenshare, LOL)
Like dead-ass, if you screenshare without someone joining then its OK, otherwise your graphics driver just doesn't know what to do and crashes
thats so funny

he has access to the remote events
that replicate wars
expect api changes
you can stay in 1.4 if you don't want the new and improved systems
instead of unified .Ragdoll api there will be an option to trigger client ragdoll and ragdoll from runner directly
so client ragdoll on your own character will be possible
it will also come with a chrono example
actually it will come with a masking example which will be chrono compatible
masking guarantees incredibly smooth ragdoll across all players
I will remove some of the animate script bypasses with 1.5
I found a better workaround
huge update
very excited
grrrr if this isn't backwards compatible... then it's 2.0
actually that's true
2.0 will include custom IsRagdolled tracker
that works on both client and server
no matter where the ragdoll is triggered from
this means IsRagdolled can't be used for security purposes
or do you guys want IsRagdolled to be kept server only
nah
this will create hella bloat
Ill let devs implement their own tracking still but improve the ragdoll api
agreed
RagdollService new version?
11
11
1
2.0
@prisma solar
oh btw
the ragdoll uses the parts directly as the colliders
what is the error you are getting
tahts fine
O I believe it's called ActivateRagdoll
well i was going off of this
i didnt really read the module π
can you show me the actual error
the actual traceback is up there
you cut it
this one?
ohhh
well the method is incorrect the correct name is ActivateRagdoll yeah
i was going off the forums docs
yeah
let me fix thx
everyone got autocomplete
so that's why no one said anything
pretty weird you didnt get autocomplete
i got autocomplete too i just didnt gaf lol oops
nah i just didnt bother i just went off the docs
i do have 1 issue but i think thats not ur problem
thx tho
theres initial desync with network ownership
yes
it is a general issue on roblox end
wait what
no no
you are doing it on client
you are supposed to do it on server
if the rig is on server
oh wait what
ah thats why it fixes itself
yeha
oopsie π
im not sure if its robloxs fault or rigs fault
i think the skirt
keeps it upright
definitely
which is funny to think abt but its a bit of a problem for me
lemme make it collision off
Skirt having collison on π₯
π₯
that's like a small bush having collusion on
you can apply post ragdoll aswell
also I already do apply impulse
in code
I wonder if instead of scripting I should get my blendering up π€
why is grandma built like that
idk bro π
Wtf is this model π
Who's grandma is this
Bro made it and forgot
BRO WHATI S THIS
π
LMAO
LOL
She's so joyous
WHY SHE THROWING THAT THING
ππππ
IDFK BRO πππ
ππππ
ill hv an mvp by tmrw or somn πππ idfk
Acc its just that I typed it out fast and completely ignored autocomplete
assuming it was the previous method name
wowee mama π»
is thi the granny game π
all that movement back there got u mesmerized
can i like activate ragdoll on npcs amd then ragdoll them for like 2 secondsand then let them stand up again
.Ragdoll(npc)
task.delay(2, function()
.Unragdoll(npc)
end)
peak
still waiting on that chrono compatible π
exams π
LOLL
does this ragdoll module use custom hitboxes like instead of the actual character limbs and body parts?
actual character
might make an option to make custom hitboxes
probably in 2.0
you can always insert hitboxes yourself and disable collissions on the limbs
yes on r6?
'
yeah on any rig
custom rig too???
yeah
thats so good
my physics on my game keeps lagging like so much sometimes i dont know if its because of my dookie ahh ragdoll system or smth else
NetworkOwner is
- Client: Setting humanoid state (from client) replicates to everyone
- Server: Setting humanoid state (from server) replicates to only other clients
It seems like humanoids under Player.Character are special
and behaves slightly different
- Player.Character humanoids always replicate the state that was set to all other clients.
- Server can never replicate state of humanoids to other clients.
even if the network owner is correct
which means docs are wrong
not like fully wrong like but slightly misleading
for some reason the local character preserves the local humanoid state
until network owner is set back to the local character
even if you give network owner to server and set the humanoid state it will hold onto the state it has and will remember it when network owner is given back
okay okay I think I got it
it's just based on network owner but with one caveat which is the state is never replicated back to the local character
is this is a specific property of being Player.Character
yes it is
confirmed
otherwise it's always set to the network owners decision
but if it's Player.Character it will preserve the state that is on the local client
should I make a pr to the docs
π€
roblox contributor π€
it's here
holy smokes
this will take a while
and Im cloning with --depth 1
Reliable Animate script compatbility β
no more workarounds
fixed a lot of small glitches
should be a lot more reliable
unified api for client and server
local player aware ragdoll
this is just impossible to get rid of unfortunately
I need a single frame
that's the entire workaround
Animate script works when humanoid actually changes state
which is deferred
why task.delay tho
I can make it a :Once after humanoids are stepped
let me see if that even works
throttled delay π₯
?
he is the test dummy
he's been walking for the past few hours with no progress
Why he tripping over his feet
adding generic ragdolls
ragdolls with no config
lower quality but more convenient if you have a lot of different types of entities
are u gonna add custom hitboxes
hmm
Im not sure how I could add it
like how the api would look like
idk just create a new part and weld it to the character and then enable collisons when ragdoll
create a part for each limb
how do I let users not have that
since library by default works with limbs directly
also how big should each hitbox be
Im talking about actual api
maybe it can be in the config? not sure
so that you can change th size in config maybe? idk waht api is
I can't really destroy libraries current functionality
just to add a new feature
like I can't make custom hitboxes forced
I guess it can be a config yeah
like CustomHitboxes = {}
but this means for generic it won't ever work
ok idk ask ai
Did you pass, master?
RagdollService 2.0 is Here!
- Full Animate script compatibility
- Proper local character humanoid state management
- Generic ragdolls with no config
- No network ownership transfers
- Client can now import the module without waiting for server
- Improved R6 and R15 configs
- Bunch of other small fixes and refactor
Use github download to get the latest release.
Live footage of DrSinek ending it all
its real
- source code is now rojo compatible
π₯Ή
yes twin πΉ
isnt that also my gif
shhhh
What to do when RootPart is missing
4
4
3
Just return do nothing
chrono compatible?
this is chrono compatible but I haven't made the chrono example
cuz it requires additional setup
oh nice
ima check later
but im just wondering because I use Custom chrono mode for npc and they don't have a humanoid + their server side model is just a box for hitbox detection and the client side is rendering the real model R15
should the ragdoll work with this?
I dont use chrono for npc
but it's the same deal
create a skeleton ragdoll
and then match the visuals to it
I never implemented ragdoll in my game because I was waiting for this π
it's a bit harder usually
for Native With Lock and custom its the same right?
because I use Native With Lock for players
oh my im in class and I opened the chat in this server
who is sending all those stuff here bro
oh
If that is the base
I mean either way you'll have to create a skeleton rig
and ragdoll the original rig
and enable ROT for all entities
alr ima try and see how it goes
time to slap this on wally
I guess that's the only continuation π
Yo Snek I'm implementing my own ragdoll system but unragdolling is flinging me
How do u handle it
check the source
RagdollService is a great reference for passive ragdoll systems on roblox
everything is thought about
Hitting that vape
require it from client too
@stiff ibex worked?
dr sinek is also a goat
@quaint niche did you make it work with chronos?
this one is technically compatible with chrono
but does not include everything auto
@cold flax and me are working on 2 different ways to ragdoll with chrono
we will see which one will be the winner
and then I will make a tutorial
@woven junco does the ragdoll not fling u cuz hrp is already standing up?
Yo who tf is snail
Fym you pinged me nephew
i was tryna ping @ snek
dumbass
Ayo @quaint niche
yo?
I got a question
ask away
So
I have a networking module
I made it
It's purpose right now is security and saftey
It's packet definitions type stuff
Then there another interface for pipelines
Pipelines are secure and mimic real world cyber security
Simple but yea
Player join, give token, needs token every event fire and a hash to obscure names
So yea blah blah blah
Now I've never been to familiar with compression or serilization
So first I was wondering if you could maybe teach me some data compression techniques and second, how to write a proper github read me π₯ . TO BE CLEAR I dont need you to "code for me" when asking for data compression help.
@quaint niche
I forgot
I can js dm u
Mb
make a #1017021795330699334 post + Im not really experienced with compression
you'll have to lookup some algos
Grahh
Alr tysm
roblox has api to compress buffers
and if you send buffers over the network they get compressed anyway
oh neat
bruh
since when is this a thing
damn bruh
Ive been missing out
so you can simplify remotetable i think
how can I tho
I don't think remote table benefits from it
W, thx
Check dms
werent you doing hashes
I mean sha256 is overkill for my purpose
π
Im using a fast non secure hash
oh i thought you could use encoding service to create the hash instead of manually
I mean it is definitely possible just very very very inefficient
both bandwidth and compute speed wise
I use XXH32
facebooks hash
it's a non secure incredibly fast hash
actually one of the fastest
and has a unified distribution
ye ye
I get you
but I checked the methods
no XXH32 π
not even fnv1a
and fnv1a is incredibly common
it's like 4 lines to implement
you should make the rig_type variable use the actual supported rig types and not just a string
export type RigTypes = "R6"|"R15"|"Generic"
wait i'm looking through the ragdoll test place code that might not be up to date
Yeah
2.0 is out
I cant really
Since you may have 2 different ragdoll setups for same rig
wdym
what would that change
A rig might be r15 but use a specific ragdoll config that turns you into a noodle
Or it may only ragdoll your hand
okay then you could do
export type RigTypes = "Generic"|"R6"|"R15"|string
Bruh thats an oversight on my endππ
- you can add types
that is not part of the license
Configs are excluded
it's okay i still love you β€οΈ
Also types too
Since types are not in the final code
You are free to edit them
I might make this MIT* in the future
cuz of clean room?
Cuz I want more reach + I think I have finally learned everything there's to passive socket ragdolls on roblox
So anything people add wouldnt contribute
is it possible to have more weighty ragdolls or something instead of just flopping to the floor
i don't mean like euphoria physics or any crazy stuff
What is weighty
Weights are on each limb
If you change those ragdolls will be different
delayed falling i suppose? or like idk
y'know how when ragdolling irl your knees buckle under you
you sort of fold up
Yeah bur Idk if ball sockets can do that
is that not dependant on the twist limits or something?
Also you will defo want more scfurate rigs than r15
Yes you can play around
I mena you can make knees weakee and see what happens
You can get rid of the knockback I apply
To prevent ragdoll for standing up
Try it
I have this only for r6
R15 is unstable enough that it collapses
i think changing the physical properties of some parts could help too
like making the legs lighter and the torso heavier
and the restitution of the ball sockets or the max friction torque
i'll play around
Was MIT that good that they released MIT 2.0
this could be so good with pose matching functionality
Inspired by GTA's Euphoria System.
this dude made the closest thing to euphoria physics i've seen in roblox
https://www.youtube.com/watch?v=LNidsMesxSE&t=1005s and just watch this vid , it's gold . it has inspired me to make a crazy good ragdoll system , like gta 4
In this 2014 GDC session, indie developer David Rosen explains how to use simple procedural techniques to achieve interactive and fluid animations using very few key frames, with examples from indie games like Overgrowth, Receiver and Black Shades.
GDC talks cover a range of developmental topics including game design, programming, audio, visual...
Is this still in dev
Inconsistent ragdoll with chrono is the only reason I don't use chrono on my games, even though they're often fast-paced enough to benefit alot from it
Would be very useful
Have you tried using their solution
Yes, it breaks in a lot of situations
Namely since they simulate gravity it tends to completely fail if it's not completely grounded
Their implementation (which is running as fast as it can, not really a them issue I don't think) only detects that the character is off the ground after they're relatively high which ends up in
Ragdoll + knockback moves up a little > gravity violently slams them downward > knockback drags back up and the entire thing breaks
It works fine for ragdoll that never aims upward at all but a solid 50% of abilities in my game have some sort of upward knockback so it's just unusable
Have been looking for an alternative for ages
There few things to note here
Currently roblox doesn't allow simulating other bodies attached to network owners that are not you
So there are 2 ways to fix this
First one is using an AlignPosition
Pros:
They get are kept in sync
Cons:
Its hard to get max forces right (like you mentioned)
Second one is using IK controls
Pros:
You can get purely client sided limb movement
It stays in sync
Cons:
Still very experimental
Goes out of sync for full body ragdolls
Simulation is done through usually a rope which doesnt look realistic and sometimes gets out of control
So this is more of a roblox limitation
I didnt have enough time to investigate IK controls method, theoretically it could be combined with the align position method for better accuracy
A third option is registering all limbs seperately as a replicating entity
@quaint niche guess who slept 9 and a half hours?!?;!!
Same π₯
That's sad
If they would make a system where when you set ownership of a player to another player
It would start a peer to peer connection
And the owner will sent data from both of the players
I think that would fix a lot of issues
Best way is to use ik
Ay fren is also here
Ik is cool but it doesn't sync
It's very light on the server which is great
I couldn't get it to work peoperly for full body ragdolls
But as mentioned ik doesn't fully sync with server
Doesn't need to
If you do that with Chrono you are fried
From my knowledge
I haven't tested it on my own
I mean you could just not set network owner ship
Would feel shitty but would do the work
I suppose we are stuck with limitations until Roblox steps up to do something
Hi I'm using rig type Generic for my Ragdolls and I have two questions
- is there a way to improve the ragdoll i.e do network owner player? (I tried doing this it made it worse idk if it was a studio only thing)
- is it normal that calling .Ragdoll makes my Recv. Go up to 10 kb/s instead of the usual 1-2?
code I used
Ragdollservice.Ragdoll(Character, "Generic")
task.Delay(Ragdolltime,function()
ragdollservice.Unragdoll(Character, "Generic")
end)
I typed this on my phone so there's some slight errors but you get the point
I already set .setup ragdoll whenever the player spawns in the map or enemy spawns in the map
please be more clear
who's getting ragdolled and if from server
if the npc is getting ragdolled from server and you wanna make it client client has to have full network ownership of them
if an enemy is getting ragdolled there's no way around it
are there any attached baseparts to any of the limbs
this is also important question
1 - enemies ( in the future, maybe players)
2 - theres only 2 baseparts connected to humanoidrootpart which are hitboxes (one has cantouch other has concollide i plan on changing it to one part only in the future :p )
forgot to reply ^^^^^^^
i think thats what u were asking for
I doubt those would create high recv
you didn't answer my question about who ragdolls
server?
@low laurel you should use activeragdoll
and deactiveate ragdoll
cuz unragdoll will delete all pre created setup
that prolly creates spike
alr
i was saying like why wouldnt you just use the same joints instead of destroying and cloning each time lol
i didnt get the difference on deforum
Idk bro DestroyRagdollAssets
didn't feel like a good name
I thought it was pretty clear
activate and deactivate
maybe im 1 iq
i think this is what i gotta do
yay it works
still some recv but its 40-50% less
FreeRagdoll π€
I think that's just normal replication
can you make this clone your character after death for persistent ragdolls
you can do that for your game
this remains as general purpose library
Is it just me or the module is broken when you try to play test it?
Got it to work but it ragdolls standing up
need to do it from server
for npcs
for client npcs you can do client
for everyone else it has to be server
also need to require the module from client aswell
@quaint niche i think roblox mightve lowkey reworked R15 rigs or smthn because the module just can't find the Motor6Ds and they aren't an instance in the player anymore
seems like they got replaced with "AnimationConstraints"?
It's the new change
do they work the same as Motor6Ds?
Somewhat
horrifying
Just so you know it'll be forced soon
i know but maybe mister sinek will fix it for us by then ^_^
Hi Creators, Weβre transitioning to Phase 2 of the Avatar Joint Upgrade (AJU) rollout, which means that all games with the StarterPlayer.AvatarJointUpgrade property set to βDefaultβ will now automatically receive the new logic which replaces traditional Motor6D joints with physics-capable AnimationConstraints and BallSocketConstraints mea...
it also supports ragdolls too
since it has ball constraints
oo
Hello Creators! We are thrilled to announce that the Avatar Joint Upgrade is officially graduating from Studio Beta and is now available for use in your published, live experiences! With the upgrade, parts driven by Animation can interact physically with the environment, rather than rigidly following predetermined Animation transforms. This...
Update: Launched Jan 26, 2026 Update: May 6, 2025 We added the option to make avatars ragdoll on death. Long term, newly created places will use this by default. Details below. Hello Creators! Weβre thrilled to announce the Avatar Joint Upgrade Studio Beta, an exciting new step in expanding what Roblox avatars can do. With this update, ...
and this too
500 posts
wasn't this already possible?
ah
I don't get why they need to make ragdolling native out of all things
probably to demonstrate the thing
don't tell me it's not for r6
R6 doesn't have it yet
yeah I think yall don't even need external module anymore
at least not for r15
Hi sir, I'd like to as what is the difference between the Generic type and creating a custom type , also how to create a custom type for my custom character models?
whats the difference between this and the usual ragdoll service
it is live
well too bad
nvm
LMAOO