Cooperative Constraints

Cooperative constraints are more stable than simple constraints, but can be more computationally expensive to simulate. For a cooperative constraint to take part in the simulation, you first need to add it to a Constraint Solver. The solver acts as a container for the cooperative constraint in a particular Rigid Body Collection, and performs all the calculations necessary for the constraints to work together.

The following constraint types are cooperative constraints:

Common Properties

The following properties are shared by all cooperative constraints:

Strength and Tau

These properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement.


The constraint applies an impulse to each attached body in order to maintain the constraint, based on the relative velocities of the attached bodies. The Strength parameter governs the percentage of this impulse the constraint will apply to each object. If this is sufficient, then the constraint is maintained.


If the constraint drifts; that is, if the attached objects reach a state where the constraint isn’t satisfied, then reactor applies a corrective force to rectify this drift. An impulse is calculated to rectify the drift in a constraint system; the Tau parameter governs the percentage of the corrective impulse the constraint applies to each object.

NoteTau is unavailable in the Havok 3 engine.

Breakable Constraints

A breakable constraint stops working when a specified threshold is exceeded. For example, you could use a breakable constraint to make a door that flies off its hinges when kicked hard enough. You make a constraint breakable by turning on its Breakable check box. It then ceases to exert impulses on its constrained bodies if its limits are exceeded during the simulation.


Turn on to make the constraint breakable.

The Linear and Angular parameters apply only to Havok 1, and the Theshold parameter applies only to Havok 3.


The maximum linear impulse the breakable constraint can apply before it breaks. Available in Havok 1 only.


The maximum angular impulse the breakable constraint can apply before it breaks. Available in Havok 1 only.


A generic impulse parameter that governs the overall breakability of the constraint. Larger values make the constraint harder to break. Available in Havok 3 only.