# MultiplyPoint

> Transforms a position by this matrix (generic).

## Definition

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

## MultiplyPoint(Vector3)

Transforms a position by this matrix (generic).

```csharp
public readonly Vector3 MultiplyPoint(Vector3 point)
```

### Parameters

**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)):&#x20;

### Returns

| Type                                                              | Description |
| ----------------------------------------------------------------- | ----------- |
| [Vector3](/engine/6000.5/script-reference/unityengine/vector3.md) |             |

### Remarks

Returns a position `v` transformed by the current fully arbitrary matrix. If the matrix is a regular 3D transformation matrix, it is much faster to use [Matrix4x4.MultiplyPoint3x4](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplypoint3x4.md) instead. `MultiplyPoint` is slower, but can handle projective transformations as well.

Additional Resources: [Matrix4x4.MultiplyPoint3x4](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplypoint3x4.md), [Matrix4x4.MultiplyVector](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplyvector.md).

### Examples

```csharp
using UnityEngine;

public class ScriptExample : MonoBehaviour
{
  void Start()
  {
    // Find our current location in the camera's projection space.
    Vector3 pt = Camera.main.projectionMatrix.MultiplyPoint(transform.position);
  }
}
```

## MultiplyPoint(Vector3)

Transforms a position by this matrix (generic).

```csharp
public readonly Vector3 MultiplyPoint(in Vector3 point)
```

### Parameters

**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)):&#x20;

### Returns

| Type                                                              | Description |
| ----------------------------------------------------------------- | ----------- |
| [Vector3](/engine/6000.5/script-reference/unityengine/vector3.md) |             |

### Remarks

Returns a position `v` transformed by the current fully arbitrary matrix. If the matrix is a regular 3D transformation matrix, it is much faster to use [Matrix4x4.MultiplyPoint3x4](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplypoint3x4.md) instead. `MultiplyPoint` is slower, but can handle projective transformations as well.

Additional Resources: [Matrix4x4.MultiplyPoint3x4](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplypoint3x4.md), [Matrix4x4.MultiplyVector](/engine/6000.5/script-reference/unityengine/matrix4x4/multiplyvector.md).

### Examples

```csharp
using UnityEngine;

public class ScriptExample : MonoBehaviour
{
  void Start()
  {
    // Find our current location in the camera's projection space.
    Vector3 pt = Camera.main.projectionMatrix.MultiplyPoint(transform.position);
  }
}
```
