Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


VersionControlObject

The abstract base class for representing a version control system.
Read time 5 minutesLast updated 4 days ago

Definition

public abstract class VersionControlObject : ScriptableObject

Remarks

You can add support for a custom VCS by creating a new class derived from VersionControlObject and applying the VersionControlAttribute.
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."); }}
Using the example above, a new VCS option called Custom will show up in Version Control settings window. You should only perform VCS operations when a VersionControlObject is activated. VersionControlObject.OnActivate and VersionControlObject.OnDeactivate methods are called on your class to notify your code about the change.
Any persistent settings that must survive between Unity sessions (for example, the username or password) must be handled either by the underlying VCS, by using EditorUserSettings, or stored in a file. This is because the VersionControlObject is not serialized to disk and a new instance is created every time Unity starts up or when the VCS is activated.
The VersionControlObject is derived from ScriptableObject. This makes domain reloading handling simpler. You can add ScriptableObject.OnEnable() method to restore the state if needed.
You can use AssetModificationProcessor and AssetPostprocessor.OnPostprocessAllAssets(string[], string[], string[], string[], bool) to get notifications from Unity when it wants to edit, add or remove assets.

Properties

Property

Description

isConnectedTests whether the VersionControlObject is connected to an underlying version control system.

Methods

Method

Description

GetExtensionGets optional extension object.
OnActivateCalled when your version control system is activated.
OnDeactivateCalled when your version control system is deactivated.
RefreshCalled when the cached state should be discarded and the new state should be retrieved from the underlying VCS.

Inheritance

Inherited Members

Operators

Operator

Description

operator ==Compares two object references to see if they refer to the same object.
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.