Welcome back vtrvtr!
The way Shotgun Create shows actions that can be launched is similar to how the browser integration loads and caches actions in the web app. While Shotgun Desktop only needs to load the actions for a given project, Shotgun Create needs to be able to load any actions for any entity at any moment, which means the loading and caching strategies are much different.
To do this, it needs to first load the correct environment file and retrieve the commands for the requested entity. If you have multiple pipeline configurations for the same project, each of these need to be loaded and cached. This is exactly like launching a Toolkit action from the webapp, which can feel slow whether Shotgun Desktop or Shotgun Create is serving that request.
In general, the more Toolkit needs to pull files from the network, whether it’s the Toolkit configuration files or python source code, the slower the action’s loading and caching will be. This is why for optimal performance we recommend people use a distributed configuration by uploading a copy of their configuration to Shotgun and/or use a git descriptor. This way the pipeline configuration and all custom apps are cached locally on the user’s computer. This speeds up the caching process and the future loads.
You’ve also asked:
I also noticed that it only happens the first time you try to open a “type” (eg. a task or a video) of file, after that it’s fast.
Do you mean that this is slow the very first time you ever try to open a task and then subsequent instances of Shotgun Create are fast, or do you mean within the same Shotgun Create session? Toolkit provides a basic level of caching between process launches. Create adds another layer of caching from within the same process. It would be great to know of which caching level feels slow and which feels fast.
This is unrelated to the topic of this particular thread, but I’m also curious, are all Desktop features supported by Create? If not, which ones are?
Shotgun Create uses Toolkit under the hood to enumerate actions and execute them, so both support the same Toolkit features. However, Create does not have a project centric view where apps run in a shared process. In Create, each Toolkit application is launched individually in its own process.
We hope this clarifies how Toolkit integrates with both applications and the guidance we’ve provided will help speed up your use of Toolkit.
Do not hesitate to reach back if you have any other questions!
JF