Your answer still contained useful info though, thanks for sharing!
One detail I did want to mention, which doesn’t really apply to Nico’s question, but may still be important to know, by default, launching software won’t actually check and cache the latest versions.
I just ran some tests, and if you are using the default2 config, launch Maya from SG Desktop, and then run this code in Maya, you can see that it is using the cached config from the desktop engine (note p89c331.basic.desktop
in the sgtk module path).
import sgtk
print sgtk
>> <module 'tank' from '/Users/philips1/Library/Caches/Shotgun/mysite/p89c331.basic.desktop/cfg/install/core/python/tank/__init__.pyc'>
engine = sgtk.platform.current_engine()
engine.sgtk.configuration_descriptor.get_path()
>> '/Users/philips1/Library/Caches/Shotgun/bundle_cache/sg/philscad/v3942'
However, if you set launch_builtin_plugins: [basic]
under your Maya project engine settings, then this will mean that it will perform a full re-cache of the latest config when it bootstraps in Maya. This won’t affect the current SG Desktop session, but it will mean that Maya is using the latest config.
Now see the same code run from Maya after using this setting
import sgtk
print sgtk
>> <module 'tank' from '/Users/philips1/Library/Caches/Shotgun/mysite/p89c331.basic.maya/cfg/install/core/python/tank/__init__.py'>
engine = sgtk.platform.current_engine()
engine.sgtk.configuration_descriptor.get_path()
>> '/Users/philips1/Library/Caches/Shotgun/bundle_cache/sg/philscad/v3943'
You can see that the cached config is now specific to Maya. Also since I updated my uploaded config after choosing the project in SG Desktop but before launching Maya, you can see that the attachment id for the config is now v3943 rather than v3942
in the first test.
So if you set launch_builtin_plugins: [basic]
on your engine project settings, then it should at least pull the latest config when you launch software, though it will only apply to that software and not SG Desktop. That setting can be applied to most of our engines but not all of them, check the engine’s info.yml to see if it supports that.
Small caveat, if you do set that setting, on the config, you will still need the users to jump out of the project and back in, in SG Desktop once, just so the setting is loaded from an SG Desktop, then any future config updates will be cached when launching software, even without re-entering the project in Desktop.