How Can I Setup a Shared "Studio" Site Config?

Note: This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations Admin Guide, for details.

By default, SG Desktop stores the site configuration locally on the user's machine and uses this for all site-level actions. When you launch SG Desktop, Toolkit automatically checks for updates to Toolkit core and any engines and apps your site config uses (eg. the tk-desktop engine). If updates are available, it will also download and install them automatically. 

Alternately, you can configure Toolkit to have SG Desktop use a shared site configuration instead of using the local configuration. This will disable the auto-update function and you will now be responsible for updating your site config's installed core and apps and engines. You can do this just as you do with other pipeline configurations running the tank core and tank updates command within the site configuration.

Move your Site config

You can use the standard tank command to move your site configuration to a shared location.  Once you move the site config, you can manually manage it just like any other configuration.  See the docs here for details on how to do that.

Update the Site config interpreter locations

Make sure that you have the path to a python interpreter defined for all platforms you use (by default, SG Desktop will only set the path to the interpreter for the platform you are on). Update /shared/location/site/config/core/interpreter_*.cfg files to point to the respective platform's default SG Desktop install Python locations. These are usually:

  • Mac/Applications/
  • WindowsC:\Program Files\Shotgun\Python\python.exe
  • Linux/opt/Shotgun/Python/bin/python 

Reverting back to the default behavior

Changed your mind? No problem.

Locate the PipelineConfiguration entity in Shotgun that is either not linked to any project or linked to the Template Project (if you started using Desktop before v1.2.1).  The Template Project is a special Project in Shotgun that is hidden by default. The easiest way to find the entity is to create a global Pipeline Configurations page.  You can do this by selecting "New Page" from the gear in the Pages menu and then creating a new Pipeline Configurations page that is not linked to any project.

shotgun.png  shotgun_2.png 



Once you've located the pipeline configuration, clear the Mac Path, Windows Path, and Linux Path fields.

The next time the Shotgun Desktop is launched, the site configuration will be recreated and updates installed locally.



  • 0
    Patrick Wolf

    The image with the arrow points to a pipeline config without a project but it should really be the "Template Project" right?

  • 0
    Manne Öhrström

    Hey Patrick! In earlier version of the Shotgun Desktop, this was indeed the Template project. The reason for this was because that project field required a value and couldn't be none, and in our initial implementation of desktop, it was tricky to change Shotgun, so we decided to use the template project to represent the site config at the time (we had to put some value in there, and the template project seemed like the most suitable project to represent the "site" at the time).

    With Shotgun 6.2, allowing for multiple template projects and as part of our toolkit security changes, where users now log in to toolkit rather than using a single script user, we ran into issues with this approach and eventually did the change where we allowed for the field to be null - with an empty value representing the site config.

    So long story short, the recommended setting now for any new setup is to use a blank project field for the site config. We recommend that any old setups are upgraded to this - the old setting is only needed if you are running older versions of the Shotgun desktop.

    For more info, see this post:

  • 0
    Patrick Wolf

    Ah I got tripped on the mentioning of the template project in "Reverting back to the default behavior" (see above). Maybe that should be adjusted?

    Thanks for the explanation 

  • 0
    Manne Öhrström


  • 0
    Macbeth R

    Whats the diference between the method described here using ./tank move_configuration

    and the method described in this other entry:

    using the ./tank share_core  ??

    The latest is the correct one? if I have 3 projects with localized cores that are already using exactly the same configuration and I want to sync them to a unique shared core.


Please sign in to leave a comment.