# Refresh()

> Called when the cached state should be discarded and the new state should be retrieved from the underlying VCS.

## Definition

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

```csharp
public virtual void Refresh()
```

### Remarks

Unity calls this method when it regains application focus. The user might have made some changes to the state of version-controlled files outside of Unity and so your [VersionControlObject](/engine/6000.5/script-reference/unityeditor/versioncontrol/versioncontrolobject.md) should retrieve the updated state. Do not overwrite this method if there's no cached state to update.

```csharp
using UnityEditor.VersionControl;
using UnityEngine;

[VersionControl("Custom")]
public class CustomVersionControlObject : VersionControlObject
{
    public override void Refresh()
    {
        Debug.Log("Custom VCS refresh.");
    }
}
```

Additional Resources: [VersionControlObject](/engine/6000.5/script-reference/unityeditor/versioncontrol/versioncontrolobject.md).
