A question I’ve seen asked a few times is if you have a Project and you view it in Shotgun Desktop, which PipelineConfiguration will it use by default when there are multiple defined in Shotgun?
The rules for bootstrapping and automatically selecting a PipelineConfiguration are listed:
-
Project Config (
projectfield matches the currentProjectthat’s being bootstrapped).
a. Dev/sandbox* with the lowest ID
b. named “Primary” -
Site config (no project defined)
a. Dev/sandbox* with the lowest ID
b. named “Primary” (edited) -
If no config is defined then it falls back on a base config fallback, hardcoded in the plugin, will be used. (In the bootstrap API, this is defined via the base_configuration() property).
*Dev or Sandbox config is a config not called “Primary”.
Configs are also filtered by PipelineConfiguration entity’s user restrictions field and plugin ids field.
This info can also be found here.
However SG Desktop has further selection requirements:
SG Desktop Project Specific Rules
Shotgun Desktop allows you to switch between Project configs in the UI, so the order is less of an issue here if you are not using site configs.
The first time you enter a project in SG Desktop, it will select a config named Primary as the default config, if there is no Primary config, it will pick the first config found in alphabetical order.
Also Shotgun Desktop will remember the configuration you picked last, so if in one session you change the config you were using on a particular project, then it will use that config next time you enter that project in SG Desktop.
Changing the config for a project in Shotgun Desktop does not affect any toolkit usage outside of SG Desktop, for example, any scripts, browser integration, or Shotgun Create. It will only affect the software and apps that you launch from SG Desktop.


