Legacy Documentation: Version 2017.1 (Go to current version)
LanguageEnglish
• C#
• JS

## Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

# Transform.TransformPoint

Suggest a change

## Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

## Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close
Switch to Manual
public function TransformPoint(position: Vector3): Vector3;
public Vector3 TransformPoint(Vector3 position);

## Description

Transforms `position` from local space to world space.

Note that the returned position is affected by scale. Use Transform.TransformDirection if you are dealing with direction vectors.

You can perform the opposite conversion, from world to local space using Transform.InverseTransformPoint.

```#pragma strict
public var someObject: GameObject;
public var thePosition: Vector3;
function Start() {
// Instantiate an object to the right of the current object
thePosition = transform.TransformPoint(Vector3.right * 2);
Instantiate(someObject, thePosition, someObject.transform.rotation);
}```
```using UnityEngine;
using System.Collections;public class ExampleClass : MonoBehaviour
{
public GameObject someObject;
public Vector3 thePosition;    void Start()
{
// Instantiate an object to the right of the current object
thePosition = transform.TransformPoint(Vector3.right * 2);
Instantiate(someObject, thePosition, someObject.transform.rotation);
}
}
```

public function TransformPoint(x: float, y: float, z: float): Vector3;
public Vector3 TransformPoint(float x, float y, float z);

## Description

Transforms the position `x`, `y`, `z` from local space to world space.

Note that the returned position is affected by scale. Use Transform.TransformDirection if you are dealing with directions.

```#pragma strict
public var someObject: GameObject;
function Start() {
// Instantiate an object to the right of the current object
var thePosition: Vector3 = transform.TransformPoint(2, 0, 0);
Instantiate(someObject, thePosition, someObject.transform.rotation);
}```
```using UnityEngine;
using System.Collections;public class ExampleClass : MonoBehaviour
{
public GameObject someObject;    void Start()
{
// Instantiate an object to the right of the current object
Vector3 thePosition = transform.TransformPoint(2, 0, 0);
Instantiate(someObject, thePosition, someObject.transform.rotation);
}
}
```