# PolygonLocalToWorldMatrix(PolygonId)

> Returns the transformation matrix of the NavMesh surface that contains the specified NavMesh node.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Experimental.AI](/engine/6000.7/script-reference/unityengine/experimental/ai.md)
* **Assembly:** UnityEngine.AIModule

> **Warning:**
>
> **Deprecated.** The experimental NavMeshQuery struct has been deprecated. Use NavWorld instead.

```csharp
public Matrix4x4 PolygonLocalToWorldMatrix(PolygonId polygon)
```

### Parameters

**** (\[PolygonId]\(/engine/6000.7/script-reference/unityengine/experimental/ai/polygonid)): NavMesh node for which its owner's transform must be determined.

### Returns

| Type                                                                  | Description                                                         |
| --------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [Matrix4x4](/engine/6000.7/script-reference/unityengine/matrix4x4.md) | Transformation matrix for the surface owning the specified polygon. |

### Remarks

[NavMeshData](/engine/6000.7/script-reference/unityengine/ai/navmeshdata.md) surfaces have their transforms defined by the `position` and `rotation` values declared at the moment when they were baked with BuildNavMeshData, or as part of a [NavMeshSurface](https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshSurface.html), or by explicitly setting the values for [NavMeshData.position](/engine/6000.7/script-reference/unityengine/ai/navmeshdata/position.md) and [NavMeshData.rotation](/engine/6000.7/script-reference/unityengine/ai/navmeshdata/rotation.md).

Custom transforms for [NavMeshDataInstance](/engine/6000.7/script-reference/unityengine/ai/navmeshdatainstance.md)s can further be specified when they are created with explicit `position` and `rotation` values passed to the [NavMesh.AddNavMeshData](/engine/6000.7/script-reference/unityengine/ai/navmesh/addnavmeshdata.md)(data, position, rotation) method.

**Important:** This method does not return the position and orientation of a single NavMesh polygon. It returns the position of the surface that owns the polygon.

**Known issue:** Identity matrix is returned instead of the actual transform for NavMeshLinks that have been instantiated with a call to [NavMesh.AddLink](/engine/6000.7/script-reference/unityengine/ai/navmesh/addlink.md)(link, position, rotation).

Additional Resources: [NavMeshQuery.PolygonWorldToLocalMatrix](/engine/6000.7/script-reference/unityengine/experimental/ai/navmeshquery/polygonworldtolocalmatrix.md), [NavMeshQuery.GetPolygonType](/engine/6000.7/script-reference/unityengine/experimental/ai/navmeshquery/getpolygontype.md)
