# ValidateMoveAsset(string, string)

> Checks if an asset file can be moved from one folder to another. (Without actually moving the file).

## Definition

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

```csharp
public static string ValidateMoveAsset(string oldPath, string newPath)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The path where the asset currently resides.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The path which the asset should be moved to.

### Returns

| Type                                                           | Description                                                            |
| -------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | An empty string if the asset can be moved, otherwise an error message. |

### Remarks

All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png".

Additional Resources: [AssetDatabase.MoveAsset](/engine/6000.6/script-reference/unityeditor/assetdatabase/moveasset.md).

### Examples

```csharp
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour
{
    [MenuItem("AssetDatabase/Move With Validate")]
    public static void MoveWithValidate()
    {
        for (var i = 0; i < 5; i++)
        {
            var oldPath = $"Assets/Textures/Building/BuildingTexture{i}.png";
            var newPath = $"Assets/Textures/Construction/BuildingTexture{i}.png";
            var moveResult = AssetDatabase.ValidateMoveAsset(oldPath, newPath);

            if (moveResult == "")
                AssetDatabase.MoveAsset(oldPath, newPath);
            else
                Debug.LogError($"Couldn't move {oldPath} because {moveResult}");
        }
    }
}
```
