How to setup multiple work directories

I was wondering how to setup multiple work directories one for each department (e.g. I have 3 in my test scenario 3d , fx , comp)
I think it may reduce the traffic of storage machines by dividing (i.e. a storage machine for each department)

so, Is it a good idea to use multiple work directories ?

I have here 3 options but I am not sure which one to use and how to use it ?

You are on the right track :slight_smile:

You need to define your roots then use them in the templates; project_anatomy/templates. For example if you wanted all your renders to go to a different root, you would change the template project_anatomy/templates/render:

{root[work]}/{project[name]}/{hierarchy}/{asset}/publish/{family}/{subset}/{@version} > {root[3d]}/{project[name]}/{hierarchy}/{asset}/publish/{family}/{subset}/{@version}

Notice the change of root[work] to root[3d].

How you organize these roots and templates is entirely up to you and your needs. Often studios tend to put renders on a storage with more disk space and/or faster storage.

I think what’s still lacking from your answer is How to get my renders to use that template?
Or more precise “How to get any particular instance / publish to use a specific template?”

This can be configured in project_settings/global/tools/publish/template_name_profiles which defines what templates are used for a particular publish. These settings define which template is used for particular families or task types or hosts (or even by task name).

It’s there where you’d define a particular combination of settings to say: If you publish this then use my template fx

For example taking these defaults as an example:

Which basically means:

  • Use publish template - the default
  • Use render template when publishing an instance of family review, render or prerender.

Note that my above example relates only to PUBLISH templates. For WORKFILES you should be configuring: project_settings/global/tools/Workfiles/workfile_template_profiles:

As far as I understood I can have one global path for each in [work , render, publish, etc ]
what if I wanted to have multiple paths for each per department (i.e. create separate storage for each department )

So, I made this in photoshope to visualize my thought :

We’ve added one more level to templates in AYON, there are also template categories:
“work”, “publish”, “hero publish”, “delivery” and “others”. Template “render” belongs to “publish” category.

Each template path should start with root which is used. AYON/OpenPype decide which template is used for what using basic filters like task type and host → so you can change roots only by same filters as templates.

Described workflow is dependent on artist knowledge (and will). That can cause a lot of headaches, as pipeline would be dependent on artist’s decision, and artist must know what to set, that is opposite of what pipeline should do.

Why headaches? It would mean that artist (or TD) would have to change settings each time he would want to open something from different department, and would break roots in already opened scenes from other departments. Forgotten change of the setting can cause different versioning of workfiles with different content. Inconsistent locations of published files. And so on…

1 Like