# CanOpenForEdit(string[], List<string>, StatusQueryOptions)

> This is called by Unity when inspecting assets to determine if they can potentially be opened for editing.

## Definition

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

## CanOpenForEdit()

```csharp
public void CanOpenForEdit(string[] arg0, List<string> list, StatusQueryOptions statusQueryOptions)
```

### Parameters

**** (string\[]): **** (List\<string>): **** (\[StatusQueryOptions]\(/engine/6000.5/script-reference/unityeditor/statusqueryoptions)):&#x20;

### Remarks

This is called by Unity's own systems, but you can also call it if you are implementing your own Editor tools such as a custom version control integration. Additional Resources: [AssetDatabase.CanOpenForEdit](/engine/6000.5/script-reference/unityeditor/assetdatabase/canopenforedit.md), [StatusQueryOptions](/engine/6000.5/script-reference/unityeditor/statusqueryoptions.md).

### Examples

```csharp

using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

class CustomAssetModificationProcessor : UnityEditor.AssetModificationProcessor
{
    static bool CanOpenForEdit(string[] paths, List<string> outNotEditablePaths, StatusQueryOptions statusQueryOptions)
    {
        Debug.Log("CanOpenForEdit:");
        foreach (var path in paths)
            Debug.Log(path);
        return true;
    }
}
```
