# GetDenseJacobian(ref ArticulationJacobian)

> Calculates and writes dense Jacobian matrix of the articulation body hierarchy to the supplied struct.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.PhysicsModule

## GetDenseJacobian(ArticulationJacobian)

```csharp
public int GetDenseJacobian(ref ArticulationJacobian jacobian)
```

### Parameters

**** (\[ArticulationJacobian]\(/engine/6000.7/script-reference/unityengine/articulationjacobian)): Supplied struct to read back and store Jacobian matrix values.

### Returns

| Type                                                       | Description                            |
| ---------------------------------------------------------- | -------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Number of elements in Jacobian matrix. |

### Remarks

This calculates dense Jacobian matrix of the entire articulation body hierarchy starting from root articulation body. Number of rows [\_rows](/engine/6000.7/script-reference/unityengine/articulationjacobian/rows.md) of the matrix is equal to the number of articulation bodies in hierarchy times 6: 3 rows of linear/positional DOF and 3 rows of angular/rotational DOF for each body. Number of columns [\_columns](/engine/6000.7/script-reference/unityengine/articulationjacobian/columns.md) of the matrix is equal to the total number of all joints degrees of freedom(DOF), plus 6 if [\_immovable](/engine/6000.7/script-reference/unityengine/articulationbody/immovable.md) is false.

Additional Resources: [\_index](/engine/6000.7/script-reference/unityengine/articulationbody/index.md), [ArticulationJacobian](/engine/6000.7/script-reference/unityengine/articulationjacobian.md), [ArticulationBody.GetDofStartIndices](/engine/6000.7/script-reference/unityengine/articulationbody/getdofstartindices.md)
