Several clients have asked about the concept of "levels" in Tank, where specialized publishes (usually of Assets) should be used when working on Tasks for a given Sequence, Shot or other entity. For example, a given Asset like the 'DiningTable' will have a (latest) model publish that should generally be used anywhere within the Project. But, a particular Shot, like say BB0010, might need a specialized publish of the 'DiningTable'. To cover this, Tank would need to recognize this use case and be aware that the specialized publish should be loaded when working on BB0010, but the regular Asset publish should be used elsewhere. Additionally, this specificity should be hierarchical, so a Sequence-specific publish could be used for any Shot within that Sequence (rather than doing the same Shot-specific publish for each Shot within the Sequence).
While this functionality isn't in Tank yet, the attached diagram sketches out how it might work. As part of the implementation, Shotgun would in turn get some extra schema to track the entity linkage specificity, and a big design goal would be lay things out in a generic way so that different studios could define the "level" hierarchy and relationships as they see fit.
It would be great to get feedback on this idea and approach, as well as more detailed use cases! We also have a few questions for folks interested in this workflow so we can make sure we're in line with the way people want things to work:
- For the case where the same publish should be specific to multiple entities at the same "level" (i.e. this publish should be used for these two Shots), is it ok for the this to result in separate publishes (as in the diagram)? In essence, this means that each publish can only have one "level," but that "level" could cover multiple leaf entities through the hierarchy (i.e. a Sequence-level publish would affect multiple Shots, any within that Sequence). By doing this, the file structure on disk would always be consistent within its context and data relevant to a "level" would reside in the same place, which might clearer and help avoid confusing questions about what can/can't be offlined. The tradeoff is that data would also be duplicated. So far, we've asked a few clients and this felt like the best balance - what does the group think?
- Should the entity-specific schema also apply to review material (i.e. Versions in Shotgun)? When reviewing a Shot-specific model turntable, should it be linked to the Asset and have a "level" designation just like the publish, or should it just be linked to the "level"? Should Notes be linked to both the Asset and the Shot? Currently, Shotgun's Note-taking tools would only link them to what the Version is linked to, so it wouldn't pick up the "level" as well, should it?
- Does the name "level" feel right to everyone as far as vocabulary goes? We've started with this term because a few of the clients that asked about this workflow call it that but we're open to other ideas. Let us know what you call this if it's different!