# CanStartDrag(CanStartDragArgs)

> This function is called whenever a TreeViewItem is clicked and dragged. It returns false by default.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.IMGUI.Controls](/engine/6000.3/script-reference/unityeditor/imgui/controls.md)
* **Assembly:** UnityEditor

> **Warning:**
>
> **Deprecated.** TreeView is now deprecated. You can likely now use TreeView\\\<int\\> instead and not think more about it. But if you were using that identifier to store InstanceID data, you should instead opt to upgrade your TreeViews to use TreeView\\\<InstanceID\\> to get the proper typing.

```csharp
protected virtual bool CanStartDrag(TreeView.CanStartDragArgs args)
```

### Parameters

**** (\[CanStartDragArgs]\(/engine/6000.3/script-reference/unityeditor/imgui/controls/treeview/canstartdragargs)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

Override this function so it returns true to enable drag and drop behavior for TreeViewItems.

You control TreeView drag and drop in the following order:\\

1. override [TreeView.CanStartDrag](/engine/6000.3/script-reference/unityeditor/imgui/controls/treeview/canstartdrag.md) to enable dragging TreeViewItems.\\

2. override SetupDragAndDrop to set which TreeViewItems are dragged.\\

3. override [TreeView.HandleDragAndDrop](/engine/6000.3/script-reference/unityeditor/imgui/controls/treeview/handledraganddrop.md) to control the drag and drop behavior of the TreeView.\\
