# OnActivate()

> Called when your version control system is activated.

## Definition

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

```csharp
public virtual void OnActivate()
```

### Remarks

This happens when user selects new VCS from Version Control settings window, when it gets activated from script, or during Unity startup.

Unity calls this method to inform your [VersionControlObject](/engine/6000.7/script-reference/unityeditor/versioncontrol/versioncontrolobject.md) that it's now active and that it's safe to perform VCS operations such as checkout or submit.

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

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

    public override void OnDeactivate()
    {
        Debug.Log("Custom VCS deactivated.");
    }
}
```

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