Quick answer: Lower the constraint’s Stiffness, raise its Damping. Bump Position Solver Iterations on the bodies (8–16). Hard limits eliminate jitter at the cost of feel; reserve soft for joints that should bounce.
Ragdoll arm dangles at full extension. Limb wobbles continuously like an overcaffeinated metronome. Soft limit constraint is acting like an underdamped spring — it overshoots, springs back, overshoots, forever.
The Symptom
Physics-driven joints (ragdoll, swinging chain, cloth-like rope) vibrate at their angular limits. Vibration may be subtle or violent depending on stiffness/damping ratio.
What Causes This
Soft constraint limits are a spring: when angle exceeds the limit, a restoring force = stiffness * overshoot pushes back, opposed by damping * angular_velocity. Underdamped springs oscillate. The PhysX solver runs in discrete time steps; each step the joint may overshoot before the damping catches up.
The Fix
Step 1: Tune stiffness/damping. Inspector on the PhysicsConstraint:
Angular Limits:
Swing 1 Limit: Limited, 45°
Swing 2 Limit: Limited, 45°
Twist Limit: Limited, 30°
Soft Constraint: true
Stiffness: 100 // reduce if jittery
Damping: 10 // raise to ~1/10 of stiffness for critical damping
Critical damping ratio = 2 * sqrt(stiffness * mass). For mass = 1, damping = 2 * sqrt(stiffness) gives critical damping (no oscillation, fastest settle).
Step 2: Solver iterations. On the bodies, in their physics asset properties:
Position Solver Iteration Count: 8
Velocity Solver Iteration Count: 2
For ragdolls with many constrained bones, raise Position to 12 or 16. Cost: more CPU per body. Worth it for visible joints.
Step 3: Hard limits where jitter is intolerable. Disable Soft Constraint on critical joints. Hard limits clamp the angle exactly with no spring — rigid but stable.
Substep Tuning
Project Settings → Physics → Substepping. Enable, set Max Substep Delta Time = 1/120, Max Substeps = 6. Physics solves at higher rate; jitter from large timesteps disappears.
Verifying
Drop a ragdoll. Watch limb extremities at rest. With well-tuned constraints: settles in <1 second. With bad tuning: visible vibration that doesn’t damp.
“Lower stiffness, raise damping. More solver iterations. Hard limits where it must be perfect.”
Related Issues
For Physics Asset bone constraints, see physics asset. For collision channels, see collision channels.
Damping. Iterations. Substeps. Joints settle.