Quick answer: Audit bone naming so physics assets resolve correctly, align capsules to each bone’s local long axis, use partial-body ragdoll to blend physics with ongoing animation, and visualize with a debug overlay that draws bones and capsules together.

Your character’s ragdoll looks great… until you actually kill them. The hip twists 180 degrees, an arm spins like a helicopter, and the head detaches. The physics asset is technically applied, but the capsules are attached to the wrong bones or oriented along the wrong axes. Rigged-mesh physics is a minefield of naming and axis conventions.

Naming Mismatches

Physics assets reference bones by name. A capsule assigned to “spine_02” attaches to a bone named exactly “spine_02.” If your DCC (Blender, Maya) exports the bone as “spine_02.001” because it was imported twice, the physics asset silently drops the capsule.

Audit with a bone dump:

# Unreal: dump bone names
void DumpBones(USkeletalMeshComponent* Comp)
{
    const auto& Bones = Comp->GetSkeletalMeshAsset()->GetRefSkeleton();
    for (int i = 0; i < Bones.GetNum(); i++)
        UE_LOG(LogTemp, Log, TEXT("%s"), *Bones.GetBoneName(i).ToString());
}

Compare the output to your physics asset’s bone list. Any difference breaks the attachment.

Capsule Axis Alignment

Every bone has a local coordinate frame. A capsule’s long axis should match the bone’s primary direction — usually X in Unreal, Y in Unity, Z in Godot depending on rig conventions. A 90-degree mismatch turns a spine capsule into a cross-spine capsule and the ragdoll collapses sideways.

Open the physics asset editor. Enable “Show Bone Axes.” For each capsule, orient it with its length along the bone’s forward axis.

Blending with Animation

A full ragdoll cuts the animation abruptly. A partial ragdoll is more cinematic — the upper body reacts to the hit while the lower body continues walking/running.

// Weighted per-bone blend
Comp->SetAllBodiesBelowSimulatePhysics(FName("spine_02"), true);
Comp->SetAllBodiesBelowPhysicsBlendWeight(FName("spine_02"), 0.8f);

Start weight high (0.8) on impact, then decay to 0 over 500 ms. The character recovers into their animation pose smoothly.

Debug Overlay

Render bones and capsules together in-game. Most engines have a built-in (Unreal: show collision or ShowDebug PhysicsAssets; Unity: Physics Debugger; Godot: Debug → Visible Collision Shapes). Toggle it on during ragdoll development and watch the capsules follow the bones.

Verifying

Drop the character, apply an impulse, and watch the ragdoll fall. A correct ragdoll settles into a plausible pose within 2 seconds. A broken one either holds a pose (no physics active) or explodes into impossible geometry (axis misalignment).

“Ragdolls are the DCC-to-engine handoff stress test. If your export pipeline has any naming or axis bugs, ragdoll day will find them.”

Related Issues

For Unreal-specific import rotation issues, see Unreal physics asset rotation wrong on import. For animation blending artifacts, see how to debug animation blending artifacts.

Dump the bone list before anything else. Half of physics attachment bugs are naming issues that take 30 seconds to spot and two hours to debug without the dump.