This document describes the Perforce integration for Toolkit - what it is, who it is aimed at and a high level overview of how it is implemented.
The Shotgun Toolkit Perforce integration streamlines the process of working with Perforce from within the various Toolkit apps and engines.
Perforce operations are built into the standard Toolkit File Manager, Publish and Loader apps so they just happen as part of the normal workflow. Perforce changes and file revisions are then tracked in Shotgun against the correct assets and tasks. This frees up your artists to concentrate more on creating amazing assets and less on the process of managing those assets within Perforce.
Who is this for?
The initial release of the Perforce integration is targeted at a typical Games workflow where Artists will usually work with the latest version of assets and files.
It doesn't provide a VFX workflow where artists will often need to work with older versions of an asset. However, this is something we would be very interested in discussing with anybody that wants to work with Perforce in this way so please contact firstname.lastname@example.org if this is something you would be interested in.
The integration consists of a number of components. These include a new framework, two new apps and a set of custom hooks that work in conjunction with the other Toolkit apps to make them Perforce aware:
1. Perforce Framework
The Perforce framework contains a set of common functionality that is then used by the other apps and hooks to provide the Perforce integration.
2. Multi Perforce App
This app provides common Perforce related commands across the different engines & dcc packages (e.g. Maya & Photoshop).
3. Custom hooks
The custom hooks provided as part of the framework are where the integration actually happens. Custom hooks for the File Manager allow it to sync latest versions and check files out whilst the hooks for the Publish app allow it to check files back in as part of the publish process.
4. Perforce Sync Daemon
Finally, the Perforce sync daemon creates entities in Shotgun for any newly submitted Perforce file revisions and changes. These are created with links to the correct entities (e.g. Assets) and tasks as required.
Note: it's important that this daemon is running to ensure that all changes are synced in a timely fashion between Perforce and Shotgun. Please read the app documentation for further details.
There are currently some restrictions when using Toolkit with Perforce - these are actively being addressed and will be removed in a future release.
- Perforce Workspace Mapping - currently, all users must have their workspace mapped to the same absolute local path. This must be the same as the Toolkit Primary file storage as configured when the project is setup with Toolkit.
- Configuration location - this must currently live on a shared network drive accessible to all users.
- Multiple storage roots are not currently supported.
We provide an example Games configuration that incorporates all the new apps together with a basic folder schema and templates for a simple game setup. This configuration requires some additional entities to be enabled in Shotgun so please read the configuration documentation before you setup a project with it.
As with everything to do with Toolkit, we are always very interested in discussion and any feedback that you may have. Please post on our forums or contact email@example.com if you have any comments.