Version: 2020.2
LanguageEnglish
  • C#

Provider.Checkout

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static VersionControl.Task Checkout(string asset, VersionControl.CheckoutMode mode);
public static VersionControl.Task Checkout(string asset, VersionControl.CheckoutMode mode, VersionControl.ChangeSet changeset);
public static VersionControl.Task Checkout(string[] assets, VersionControl.CheckoutMode mode);
public static VersionControl.Task Checkout(string[] assets, VersionControl.CheckoutMode mode, VersionControl.ChangeSet changeset);
public static VersionControl.Task Checkout(Object asset, VersionControl.CheckoutMode mode, VersionControl.ChangeSet changeset);
public static VersionControl.Task Checkout(Object asset, VersionControl.CheckoutMode mode);
public static VersionControl.Task Checkout(Object[] assets, VersionControl.CheckoutMode mode);
public static VersionControl.Task Checkout(Object[] assets, VersionControl.CheckoutMode mode, VersionControl.ChangeSet changeset);

Parameters

assets List of assets to checkout.
asset Asset to checkout.
mode Tell the Provider to checkout just the asset file, the .meta file or both.
changeset Tell the Provider to checkout the assets to a specific changeset.

Description

Checkout an asset or a list of assets from the version control system.

Some version control systems like Perforce or Plastic SCM require an asset to be checked out before it can be edited.

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

public class EditorScript : MonoBehaviour { [MenuItem("Version Control/Checkout")] public static void ExampleCheckout() { AssetList assets = new AssetList(); assets.Add(Provider.GetAssetByPath("Assets/ExampleAsset.cs")); ChangeSet changeset = new ChangeSet("Description", "1111"); Task t = Provider.Checkout(assets, CheckoutMode.Both, changeset); t.Wait(); } }

The code above will checkout the "ExampleAsset.cs" asset and move it to a changeset with an ID of "1111".