# IsOpenForEdit(Asset)

> Returns true if an asset can be edited.

## Definition

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

```csharp
public static bool IsOpenForEdit(Asset asset)
```

### Parameters

**** (\[Asset]\(/engine/6000.7/script-reference/unityeditor/versioncontrol/asset)): Asset to test.

### Returns

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

### Remarks

Version control systems like Perforce or Plastic SCM require that an asset be checked out before it can be edited. In such cases this task will test whether the asset is checked out and editable.

```csharp
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.VersionControl;
using UnityEngine;

public class EditorScript : MonoBehaviour
{
    [MenuItem("Version Control/IsOpenForEdit")]
    public static void ExampleIsOpenForEdit()
    {
        AssetList assets = new AssetList();
        assets.Add(Provider.GetAssetByPath("Assets/ExampleAsset.cs"));
        Debug.Log("ExampleAsset.cs is editable?" + Provider.IsOpenForEdit(assets[0]));
    }
}
```

Some version control systems like Git support editing without checking out the asset, in this case the task will always return true.
