diff --git a/openpype/lib/abstract_load_template.py b/openpype/lib/abstract_load_template.py
index dccd5c5c62f..ee4fae95c75 100644
--- a/openpype/lib/abstract_load_template.py
+++ b/openpype/lib/abstract_load_template.py
@@ -49,7 +49,8 @@ def template_path(self):
project_settings = get_project_settings(project)
current_dcc = avalon.io.Session["AVALON_APP"]
current_task = avalon.io.Session["AVALON_TASK"]
- profiles = project_settings[current_dcc]['workfile_build']['profiles']
+ build_info = project_settings[current_dcc]['templated_workfile_build']
+ profiles = build_info['profiles']
for profile in profiles:
if current_task in profile['task_types']:
diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json
index 58196037519..b1dcb6d95b0 100644
--- a/openpype/settings/defaults/project_settings/maya.json
+++ b/openpype/settings/defaults/project_settings/maya.json
@@ -593,7 +593,97 @@
"profiles": [
{
"task_types": [],
- "path": "C:\\path\\to\\template"
+ "tasks": [
+ "Lighting"
+ ],
+ "current_context": [
+ {
+ "subset_name_filters": [
+ "\".+[Mm]ain\""
+ ],
+ "families": [
+ "model"
+ ],
+ "repre_names": [
+ "abc",
+ "ma"
+ ],
+ "loaders": [
+ "ReferenceLoader"
+ ]
+ },
+ {
+ "subset_name_filters": [],
+ "families": [
+ "animation",
+ "pointcache"
+ ],
+ "repre_names": [
+ "abc"
+ ],
+ "loaders": [
+ "ReferenceLoader"
+ ]
+ },
+ {
+ "subset_name_filters": [],
+ "families": [
+ "rendersetup"
+ ],
+ "repre_names": [
+ "json"
+ ],
+ "loaders": [
+ "RenderSetupLoader"
+ ]
+ },
+ {
+ "subset_name_filters": [],
+ "families": [
+ "camera"
+ ],
+ "repre_names": [
+ "abc"
+ ],
+ "loaders": [
+ "ReferenceLoader"
+ ]
+ }
+ ],
+ "linked_assets": [
+ {
+ "subset_name_filters": [],
+ "families": [
+ "sedress"
+ ],
+ "repre_names": [
+ "ma"
+ ],
+ "loaders": [
+ "ReferenceLoader"
+ ]
+ },
+ {
+ "subset_name_filters": [],
+ "families": [
+ "ArnoldStandin"
+ ],
+ "repre_names": [
+ "ass"
+ ],
+ "loaders": [
+ "assLoader"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "templated_workfile_build": {
+ "profiles": [
+ {
+ "task_types": [],
+ "path": "path\\to\\template"
}
]
},
diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json b/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json
index cc70516c722..e9ccf4d6374 100644
--- a/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json
+++ b/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json
@@ -11,11 +11,11 @@
"label": "Extension Mapping",
"use_label_wrap": true,
"object_type": {
- "type": "text"
- }
+ "type": "text"
+ }
},
{
- "type": "dict",
+ "type": "dict",
"collapsible": true,
"checkbox_key": "enabled",
"key": "maya-dirmap",
@@ -67,9 +67,13 @@
"type": "schema",
"name": "schema_workfile_build"
},
+ {
+ "type": "schema",
+ "name": "schema_templated_workfile_build"
+ },
{
"type": "schema",
"name": "schema_publish_gui_filter"
}
]
-}
+}
\ No newline at end of file
diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json
new file mode 100644
index 00000000000..bca1fefe167
--- /dev/null
+++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json
@@ -0,0 +1,28 @@
+{
+ "type": "dict",
+ "collapsible": true,
+ "key": "templated_workfile_build",
+ "label": "Templated Workfile Build Settings",
+ "children": [
+ {
+ "type": "list",
+ "key": "profiles",
+ "label": "Profiles",
+ "object_type": {
+ "type": "dict",
+ "children": [
+ {
+ "key": "task_types",
+ "label": "Task types",
+ "type": "task-types-enum"
+ },
+ {
+ "key": "path",
+ "label": "Path to template",
+ "type": "text"
+ }
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json
index 46b212ddcc9..51098c9af60 100644
--- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json
+++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json
@@ -17,12 +17,86 @@
"type": "task-types-enum"
},
{
- "key": "path",
- "label": "Path to template",
- "type": "text"
+ "key": "tasks",
+ "label": "Task names",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "type": "splitter"
+ },
+ {
+ "key": "current_context",
+ "label": "Current Context",
+ "type": "list",
+ "highlight_content": true,
+ "object_type": {
+ "type": "dict",
+ "children": [
+ {
+ "key": "subset_name_filters",
+ "label": "Subset name Filters",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "families",
+ "label": "Families",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "repre_names",
+ "label": "Repre Names",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "loaders",
+ "label": "Loaders",
+ "type": "list",
+ "object_type": "text"
+ }
+ ]
+ }
+ },
+ {
+ "key": "linked_assets",
+ "label": "Linked Assets",
+ "type": "list",
+ "highlight_content": true,
+ "object_type": {
+ "type": "dict",
+ "children": [
+ {
+ "key": "subset_name_filters",
+ "label": "Subset name Filters",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "families",
+ "label": "Families",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "repre_names",
+ "label": "Repre Names",
+ "type": "list",
+ "object_type": "text"
+ },
+ {
+ "key": "loaders",
+ "label": "Loaders",
+ "type": "list",
+ "object_type": "text"
+ }
+ ]
+ }
}
]
}
}
]
-}
+}
\ No newline at end of file