UDN
Search public documentation:

SCCIntegration
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Unreal Editor and Tools > Source Control Integration

Source Control Integration


Overview


Having control over packages and files while working on your game is important to every developer, and it becomes especially difficult if artists are expected to learn how to use source control packages designed with programmers in mind - meaning, minimal interfaces and cryptic messages.

This document will describe how UnrealEd alleviates some of this pain by allowing artists to manage their packages from within UnrealEd itself.

NOTE: UnrealEd doesn't know (or care) which SCC you use as long as it exports the proper programming interface.

Logging In


First, make sure that Source Control support is enabled.

  • Open EditorUserSettings.ini in a text editor
  • Locate the [SourceControl] section
  • Set: Disabled=False
  • Save the file!

When you first start up the editor , you will be prompted to log into your source control system. This is done through your SCCs native interface. Once you are logged in, that information will be saved and you won't have to log in again until you delete your editor INI file.

Source Control Package Icons


When SCC is enabled, icons will appear next to the packages in the package tree view of theContent Browser. The icons are as follows:

Icon Meaning
The file is available for editing because you have it checked out.
The file is read only -- you don't have it checked out.
The file is checked out by another user.
You don't have the current version of the file.
The file is not part of the SCC depot (it needs to be added)

The file is checked out by you and available for editing. Packages you have open for editor also appear in bold.

You don't have the file checked out and it is available to be checked out. This means you have the current file on your hard drive and nobody else has it checked out. If you want it, grab it!

Somebody else has the file checked out. Since multiple people can't have the same binary file checked out, this means you can't check it out until they check it back in.

Nobody has the file checked out, but you don't have the current version of it. You won't be able to check this file out until you close down UnrealEd, start up your SCC, sync the file to the current version, and start up UnrealEd again.

The file is new and is not part of the SCC depot. You can use the "Add" option on the menu to put this new file into source control.

Source Control Menu


SourceControlMenu.png

By right-clicking on a package or asset in the Content Browser you will see a context menu. The source control submenu can be accessed from here.

  • Refresh The status of the packages in the Content Browser are only current as of the last time the window was refreshed. If you want to update the statuses immediately, use this option.

  • Check Out Will first refresh the status of the file and make sure it is still available to be checked out. If it is, it will check the file out of the SCC depot.

  • Submit... Will check a file back into the SCC depot. Depending on your SCC provider, this will pop up a dialog asking you for a check in comment and giving you a few options. This option is only available if the file is checked out to you.

  • Revert Will revert a file back to its current revision in the depot. Any changes saved to this file by you since it was last submitted will be discarded. This option is only available if the file is checked out to you.

  • Revision History... If your SCC provider supports it, this will pop up a dialog showing you the revision history of the selected file.

Other Workflow Features


During normal operation, there are several ways to interface with source control without using the Content Browser.

Checkout on Modify Prompt

CheckoutPrompt.PNG

Whenever a package is marked dirty (packages that need to be saved), you will notice a dialog appears asking if you would like to check the package out of source control. This allows you to quickly checkout the package you are working on without having to go to the Content Browser and find them. This dialog only shows up the first time the package is modified and will not reappear until the package is saved and checked in to source control. The editor also queues up packages that are modified during slow operations. For example building lighting may modify several packages. You will be prompted to check them all out at once.

  • Check Out Selected: Checks out the selected packages from source control. Note: Ghosted packages cannot be checked out as they are checked out by someone else or not at the head revision.
  • Make Writable: Makes selected packages writable. Even ghosted packages can be made writable. Simply click on the check box next to the name. A "square" icon will appear for ghosted packages. This is to let you know that these packages will be ignored if you click "Check Out Selected." Note that it is usually not a good idea to use this option if your source control provider makes files read only that are not checked out as this makes the source control provider have no knowledge of your changes.
  • Ask Me Later: Does not check anything out and you will not be asked to check out any packages in the list for the duration of the editor session. Note that using some of save features will still prompt you to check out packages.

Other notes: Modifying packages which are writable on disk or packages which are not in source control will not bring up this dialog.

If you do not want to use this feature you can disable it by going to the View Menu on the main editor window, then going to Preferences and uncheck "Prompt for Checkout on Package Modification."

Checkout During Save

May of the save options in the editor also prompt you to checkout packages from source control. Some source control providers make files that are not checked out read only. The editor cannot save read only files so they must be checked out or made writable to save. For more information on the save operations please see the Editor Package Save Procedure and the UnrealEd User Guide pages

Perforce Specifics


Perforce Connection Dialog

P4Connect.PNG

When you start the editor with source control enabled for the first time you will see this dialog.

  • Server: Your Perforce server address and port
  • User: Your Perforce username.
  • Client Spec: The client spec to use when checking out and submitting files. Also known as workspace in newer versions of Perforce. After you enter your username you can optionally browse for client specs associated with your username.

You can also edit these values in the EditorUserSettings.ini file. Look for the [SourceControl] Section and look for these settings

PortName=(Same as server above)

UserName=(Same as user above)

ClientSpecName=(Same as client spec above)

Summary


The SCC integration still has a few additions to be made to it, and this document will be updated as that happens.

Advanced Integration


This document describes how to add the advanced functionality for NXN Alienbrain 7.5 and newer, however this integration solution could be useful as a guide for users which are using other asset management solutions as well.