'Publish to Shotgun' plugin duplicated on tk-multi-publish2 default config


I’ve noticed that on tk-multi-publish2 configuration the ‘Publish to Shotgun’ plugin appears 2 times by default (in example below in position 1 and 4) and the second time with some subclassing behaviour:


  • name: Publish to Shotgun
    hook: “{self}/publish_file.py”
    settings: {}
  • name: Upload for review
    hook: “{self}/upload_version.py”
    settings: {}
  • name: Begin file versioning
    hook: “{engine}/tk-multi-publish2/basic/start_version_control.py”
    settings: {}
  • name: Publish to Shotgun
    hook: “{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_document.py”
    Publish Template: photoshop_element_publish
  • name: Upload for review
    hook: “{engine}/tk-multi-publish2/basic/upload_version.py”
    settings: {}

I’m sure there is a reason for this, although i cant see what that is. Do you know what is happening here?
Thanks in advance,


(forgot to mention that the same happens with ‘Upload for review’)

Hey Eduardo! I can explain this for you - the short answer is although these plugins have the same name, they’ll never show up on a single publish item together, so there won’t be any duplication. Some more details:

  • When the collector runs, it collects files and assigns an item type to each – these can be like file.image, file.alembic, photoshop.document, etc.
  • Publish plugins have an acceptance process, which can include an item filter – each publish plugin decides whether it will show up for a given item, based on item type.
  • Your above yaml snippet doesn’t specify an engine, but as an example, we can look at Photoshop files. Photoshop files are of type photoshop.document.
  • {self}/publish_file.py, which is the default publish plugin that’s part of the tk-multi-publish app, filters for file.*, as you can see in the code:

Because file.* doesn’t match document.photoshop, the first plugin won’t show up for photoshop files.

Conversely, {engine}/tk-multi-publish2/basic/publish_document.py, the publish plugin in the second Publish to Shotgun plugin configuration above, comes from the engine, in our example, tk-photoshopcc. And this plugin filters for items of type photoshop.document, as you can see here:

So, this plugin will show up for all Photoshop files, while the other will show up for other arbitrary files that are dragged into the Publisher, and there’s no conflict or clashing.

I hope that helps clear things up! Let us know if you have any other questions.


Hello Tannaz,
Thanks for the explanation!