Configuring app launchers

Hi All,

I have been trying to understand Toolkit Administration / Development and seem to be stuck with application launchers, i was trying to add Photoshop as a option of applications in Shotgun Desktop (which works perfectly but i do not understand how).

I am not able to comprehend is the following:

  • Why do i have to configure engines section in project.yml to include both tk-desktop and tk-photoshopcc despite the fact that tk-desktop.yml has the entry for tk-multi-launchapp with use_software_entry: true

Here is the setup that works (i cannot understand why it does not work when the engine entry for tk-photoshopcc is commented out)

Also, is there some kind of documentation for all the default variable substitutions being used in the .yml files? like {config}



on the Software entity page if you fill in the Engine column you need to add the engine to the project.yml config so it knows which version you want it to use. You can set it up so Project A uses v1.0.0 and Project B uses v1.1.1.

If you don’t fill in the engine field and instead fill in any/all of Windows Path/Linux Path/Mac Path to point to some executable you don’t need to update the project.yml since you are telling it exactly what to launch there.


Thanks for the response @jhultgre.

What do i do in a case where i do not want to use the software_entity, will i need to create a entry in settings/tk-multi-launchapp.yml and a corresponding entry in project.yml ?

Can i use both the software_entity and my own app launch config in conjunction with each other?

Here is what i can understand so far, please feel free to correct me:

  • tk-multi-launchapp with use_software_enties: true auto-magically creates a launch configuration behind the scenes.
  • engine entries in project.yml describe the apps and settings of that engine, but do not describe how to launch it.

Hence, i would need two pieces of yml declarations for launching a application, one specifying how to launch it in the settings/tk-multi-launchapp.yml and a separate yml file describing the app / hook / and other settings which would then be included in the project.yml or asset.yml

1 Like

To add to what @jhultgre said, since Shotgun Desktop works in a project environment/context, it will launch the applications in that context as well, so if the engine didn’t exist in the project.yml (and assuming it had listed the Software) you wouldn’t get the Shotgun integration in Photoshop once it had launched anyway since it wouldn’t be able to find the engine settings.

Also the launch app actually calls the from the engine so it needs to be able to find the engine so that the engine can set up its own launch environment.

There is some documentation here you just need to scroll down a bit to the Resolving paths to hooks bit.
Also this doc on software entity setup may be of interest to you as well.


1 Like