# PlaceObject(Vector2, out Vector3, out Vector3)

> Casts a ray against the loaded scenes and returns the nearest intersected point on a collider.

## Definition

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

## PlaceObject(Vector2, Vector3, Vector3)

```csharp
public static bool PlaceObject(Vector2 guiPosition, out Vector3 position, out Vector3 normal)
```

### Parameters

**** (\[Vector2]\(/engine/6000.5/script-reference/unityengine/vector2)): The GUI position in the [SceneView](/engine/6000.5/script-reference/unityeditor/sceneview.md). You can pass mousePosition to this parameter in most cases.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): Returns the nearest intersected point to a ray cast from the mouse position into the scene.**** (\[Vector3]\(/engine/6000.5/script-reference/unityengine/vector3)): Returns the normal of the nearest intersected point to a ray cast from the mouse position into the scene.

### Returns

| Type                                                          | Description                                                                       |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | Returns true if the raycast intersected something in the scene; otherwise, false. |

### Remarks

Use this method to match the behavior of drag and drop in the [SceneView](/engine/6000.5/script-reference/unityeditor/sceneview.md).

[HandleUtility.PlaceObject](/engine/6000.5/script-reference/unityeditor/handleutility/placeobject.md) also queries any delegates registered to [HandleUtility.placeObjectCustomPasses](/engine/6000.5/script-reference/unityeditor/handleutility/placeobjectcustompasses.md) when determining the nearest point.
