Quick answer: High velocity over-stresses the solver. Enable Projection on the constraint, raise solver iterations, enable sub-stepping, and clamp max velocity.

A swinging chain made of physics constraints explodes when the player launches it fast. The solver can’t keep the joints together at that speed.

Enable Projection

On the Physics Constraint: under Projection, enable it and set Linear/Angular Tolerance. Projection snaps drifted bodies back toward the constraint — a stability backstop when the solver can’t fully resolve.

Raise Solver Iterations

Project Settings → Physics, or per-body: increase Position and Velocity solver iteration counts. More iterations = better constraint resolution at the cost of CPU.

Enable Sub-Stepping

Project Settings → Physics → Substepping. With a Max Substep Delta Time around 1/120s, fast motion is simulated in smaller steps — constraints stay coherent.

Clamp Velocity

void AChainLink::Tick(float Dt)
{
    FVector V = Mesh->GetPhysicsLinearVelocity();
    if (V.SizeSquared() > FMath::Square(MaxSpeed))
    {
        Mesh->SetPhysicsLinearVelocity(V.GetClampedToMaxSize(MaxSpeed));
    }
}

A hard cap prevents the runaway energy that blows constraints apart.

Mass Ratios

Constraints between bodies with extreme mass ratios (1:1000) are unstable. Keep linked bodies within ~1:10 mass ratio.

Verifying

Launch the chain hard. It swings and settles without exploding. Joints hold. Profile the physics cost — sub-stepping is the main expense; tune the substep cap.

“High velocity breaks constraints. Projection, iterations, sub-stepping, and a velocity cap stabilize them.”

For ropes and chains specifically, the Cable Component or a custom verlet solver is often more stable than a chain of rigid-body constraints.