Small Fish Small Fish Library update 1d ago

Shrimple Ragdolls

Every type of ragdoll you might need

favorite18favorites
thumb_up15upvotes
hard_drive 1 MB folder 24 files build Engine v27 bolt Updated recently
open_in_new View on sbox.game

About This Package

Shrimple Ragdolls

A ModelPhysics wrapper that expands its features and lets you easily switch to different ragdoll modes.

Enabled: The default mode we all know as "ragdoll", driven by physics
Passive: Collisions enabled on all bodies, driven by animations
Active: Collisions and simulation enabled, but bodies follow the renderer, driven by animations then by physics
Motor: Everything enabled, but the joint's motors are set to follow their parent space animations, similar to euphoria ragdolls    

How to use

Shrimply look up the Shrimple Ragdoll component and add it to your gameobject, then set the renderer you want to target and the mode.
If you want to mess with physics beforehand, like tying the ragdolls like in the video, shrimple enable CreateGameObjects on the renderer.

Lerp

Shrimple Ragdoll also offers lerping between various modes to smoothly transition, for example from Enabled to Passive, like getting up.

StartLerpMeshToAnimation( duration, targetMode ): Override the bone's transform to the current animation pose, then switch to targetMode
StartLerpObjectsToAnimation( duraction, targetMode): Lerp the objects to the current animation pose, then switch to targetMode
StartLerpBodiesToAnimation( duration, targetMode): Lerp the bodies physically to the current animation pose, then switch to targetMode
And various other overrides that lets you select specific bodies and modes.

Procedural hit reactions

With the Shrimple Ragdoll component, you'll be able to use procedural localized hit reactions on your model: You define a hit position, hit direction, strength, radius, duration, and it will automatically and smoothly translate the impacted bones backwards, twisting and offsetting depending on the force.

ApplyHitReaction( hitPosition, force, radius, duration, rotationStrength ): Start the procedural hit reaction on the specified world position and radius, it will then look up which bones fall inside of the radius and begin the animation.
Multiple hit reactions can happen at the same time, but beware of having too many happen on the same spot too quickly or else your head will start twisting backwards!

Partial Ragdolling

You're able to partially ragdoll only certain bones or limbs so that they flop around, like breaking an arm or leg!

RagdollBone( rootBone, targetMode,  includeChildren ): Ragdolls a single bone and optionally all its children
UnragdollBone( rootBone, IncludeChildren ): Unragdolls a single bone and optionally all its children

You're also able to set this in the editor through Advanced Properties, there's a Dictionary where you set the bone name and the target mode, this is set inside of OnStart so you could for example have a zombie NPC where in their prefab their spine is set to motor and they'll flop around.

Extra properties

Shrimple Ragdolls come with extra properties on top of ModelPhysics that you can set

Gravity: Set gravity to all bodies
GravityScale: Set gravity scale to all bodies
LinearDamping: Set linear damping to all bodies
AngularDamping: Set angular damping to all bodies
MassOverride: Correctly scale the mass of all bodies based on their ratio so that it matches this value
Surface: Set the Surface on all colliders
ColliderFlags: Set ColliderFlags on all colliders
MassCenter: Calculates the current mass center by the average of the bodies mass center weighted by their mass

Advanced properties

To enable these you'll have to right click the component and check the "Show Advanced Properties" box

MotorFrequency: The frequency of the joint's motors
MotorDamping: The damping of the joint's motors
ActiveLerpTime: How fast the Active mode takes to reach final transform
PartialRagdollConfig: A dictionary to manually set partial ragdolled bones in the editor

Extra methods

Move( Transform ): Move the ragdoll without affecting its velocity or simulating collisions
ApplyVelocity( Vector3 ): Apply a velocity to the ragdoll as a whole rather than on every body individually
ApplyAngularVelocity( Vector3 ): Correctly apply an angular velocity to the ragdoll, spinning it around the mass center
ApplyForce( Vector3 ): Apply a force to the ragdoll on all bodies
ApplyTorque( Vector3 ): Apply a torque to the ragdoll on all bodies
ApplyImpulse( Vector3 ): Apply an impulse to the ragdoll on all bodies
GetModelMass(): Returns the model's default mass through its physics model data
SleepPhysics(): Put all bodies to sleep
WakePhysics(): Wake up all bodies
GetBodyByX(x): Varioud methods to retried a ragdoll body
GetDescendantBones(x): Returns the bone and all of its descendants in the skeleton
MultiplyJointLimits( float ): Multiply the limits of each joint so they're able to move more

Source code:

Media (4)

Shrimple Ragdolls - Thumbnail 2 Shrimple Ragdolls - Thumbnail 3 Shrimple Ragdolls - Thumbnail 4
16,308
Total Users
28,476
Total Sessions
9.1 months
Total Playtime
Positive Negative
info
How this works: This chart tracks all anonymous thumbs up/down votes, not just the written reviews below. Playtime is permanently recorded at the exact moment the user casts their vote. Data is exactly as returned by the Facepunch API.
2m - 4m
1
1
8m - 16m
1
1
32m - 1.1h
1
1
1.1h - 2.1h
2
2
17.1h - 34.1h
1
1
Package ID: fish.shrimple_ragdolls
Created: 2025-12-11 23:45 UTC
Updated: 2026-07-08 19:59 UTC
Type: library
Public: Yes
Version: 308028
files: 24
Size: 0.5 MB
Engine Version: 27
Asset Version ID: 308028
Version Created: 2026-07-08 19:59 UTC
Hash: 1783540793
Manifest: Open manifest
Max Players: 64
Min Players: 1
Tick Rate: 50
Game Network Type: Multiplayer
Map Select: Unrestricted
Map List: facepunch.flatgrass
Rank Type: None
Per Map Ranking: false
Leaderboard Type: None
Cs Proj Name:
Startup Scene: scenes/minimal.scene
Launch Mode: Normal
Resources:
Code Package References:
new_releases Latest Update Jul 8, 2026
Rename minimal scene
tag v308028 folder 24 files hard_drive 0.5 MB build Engine v27
308028 Jul 8, 2026
Rename minimal scene
folder 24 files hard_drive 532.42 KB build Engine v27
306729 Jul 5, 2026
Changes on 2026-07-05
folder 24 files hard_drive 532.4 KB build Engine v27
304996 Jun 30, 2026
Fix proxy colliders not creating if starting mode is None
folder 24 files hard_drive 532.29 KB build Engine v26
276859 Jun 6, 2026
Joint optimizations and utility
folder 24 files hard_drive 531.68 KB build Engine v25
276842 Jun 6, 2026
Add Impact properties
folder 24 files hard_drive 530.51 KB build Engine v25
203283 Apr 21, 2026
More rigorous joint enable checks
folder 38 files hard_drive 707.59 KB build Engine v25
197367 Apr 12, 2026
Partial bones can now be motor
folder 38 files hard_drive 706.92 KB build Engine v25
196488 Apr 11, 2026
Forgot the shrimpleragdollsystem
folder 39 files hard_drive 703 KB build Engine v25
196345 Apr 11, 2026
Add icon to component
folder 37 files hard_drive 697.82 KB build Engine v25
196336 Apr 11, 2026
Update minimal scene
folder 37 files hard_drive 697.76 KB build Engine v25