Skip to content

Commit acdcf28

Browse files
committed
Big update for review
1 parent 70cd488 commit acdcf28

File tree

18 files changed

+2304
-142
lines changed

18 files changed

+2304
-142
lines changed

LICENSE

Lines changed: 9 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,17 @@
1-
SHOTGUN PIPELINE TOOLKIT SOURCE CODE LICENSE
1+
Your use of this Unreal® Engine 4 – Shotgun integration, as distributed in this GitHub repository, is governed by the BSD 3-clause license.
22

3-
Version: 7/07/2013
3+
Copyright 2018 Epic Games, Inc.
44

5-
Shotgun Software Inc. ("Company") provides the Shotgun Pipeline Toolkit,
6-
software, including source code, in this package or repository folder (the
7-
"Shotgun Toolkit Code") subject to your acceptance of and compliance with
8-
the following terms and conditions (the "License Terms"). By accessing,
9-
downloading, copying, using or modifying any of the Shotgun Toolkit Code,
10-
you agree to these License Terms.
5+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
116

12-
Eligibility
7+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
138

14-
The following license to the Shotgun Toolkit Code is valid only if and while
15-
you are a customer of Company in good standing with either: (a) a current,
16-
paid-up (or free-for-evaluation) subscription or fixed-term license for
17-
Company's Shotgun Platform; or (b) a perpetual license and current, paid-up
18-
maintenance and support contract for the Shotgun Platform.
9+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
1910

20-
Shotgun Toolkit Code License
11+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
2112

22-
Subject to the eligibility criteria above and your compliance with these
23-
License Terms, Company grants to you a non-exclusive, limited license to
24-
reproduce, use, and make derivative works of (including by compiling object
25-
code versions of) the Shotgun Toolkit Code solely for your non-commercial or
26-
internal business purposes in connection with your authorized use of the
27-
Shotgun Platform.
13+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2814

29-
Company reserves all rights in the Shotgun Toolkit Code not expressly granted
30-
above. These License Terms do not grant or require Company to grant, by
31-
implication, estoppel, or otherwise, any other licenses or rights with respect
32-
to the Shotgun Toolkit Code or any of Company's other software or intellectual
33-
property rights. You agree not to take any action with respect to the Shotgun
34-
Toolkit Code that is not expressly authorized above.
15+
#########
3516

36-
You must keep intact (and, in the case of copies, reproduce) all copyright
37-
and other proprietary notices, including all references to and copies of these
38-
License Terms, as originally included on, in, or with the Shotgun Toolkit
39-
Code. You must ensure that all derivative works you make of the Shotgun
40-
Toolkit Code contain or are accompanied by comparable and conspicuous notices
41-
that the underlying Shotgun Toolkit Code is the confidential information of
42-
Company and is subject to Company's copyrights and these License Terms.
43-
44-
No Redistribution or Disclosure
45-
46-
You acknowledge that the Shotgun Toolkit Code is and contains proprietary and
47-
trade-secret information of Company. You may not distribute, disclose to any
48-
third party, operate for the benefit of third parties (for example, on a
49-
hosted basis), or otherwise commercially exploit the Shotgun Toolkit Code or
50-
any portion or derivative work thereof without Company's separate and express
51-
written consent. For purposes of this restriction, third parties do not
52-
include your employees or agents acting on your behalf who are bound to abide
53-
by these License Terms.
54-
55-
No Warranties or Support
56-
57-
The Shotgun Toolkit Code is provided "AS IS" and with all faults. Company
58-
makes no warranties whatsoever, whether express, implied, or otherwise,
59-
concerning the Shotgun Toolkit Code. Company has no obligation to provide
60-
maintenance or technical support for the Shotgun Toolkit Code (unless
61-
otherwise expressly agreed in a separate written agreement between you and
62-
Company).
63-
64-
Liability
65-
66-
You agree to be solely responsible for your use and modifications of the
67-
Shotgun Toolkit Code, and for any harm or liability arising out of such use
68-
or modifications, including but not limited to any liability for infringement
69-
of third-party intellectual property rights.
70-
71-
To the fullest extent permitted under applicable law, you agree that: (a)
72-
Company will not be liable under these License Terms or otherwise for any
73-
direct, indirect, incidental, special, consequential, or exemplary damages,
74-
including but not limited to damages for loss of profits, goodwill, use, data
75-
or other intangible losses, in relation to the Shotgun Toolkit Code or your
76-
use or inability to use the Shotgun Toolkit Code, even if Company has been
77-
advised of the possibility of such damages; and (b) in any event, Company's
78-
aggregate liability under these License Terms or in connection with the
79-
Shotgun Toolkit Code, regardless of the form of action and under any theory
80-
(whether in contract, tort, statutory, or otherwise), will not exceed the
81-
greater of $50 or the amount (if any) that you actually paid for access to
82-
the Shotgun Toolkit Code.
83-
84-
Ownership
85-
86-
Company retains sole and exclusive ownership of the Shotgun Toolkit Code and
87-
all copyright and other intellectual property rights therein. You will own any
88-
derivative works you make to the Shotgun Toolkit Code, subject to: (a) the
89-
preceding sentence; and (b) the provisions below regarding ownership of any
90-
code you elect to contribute to Company.
91-
92-
Contributions
93-
94-
The following terms apply to any derivative works of the Shotgun Toolkit Code
95-
(or any other materials) that you choose to contribute to Company.
96-
97-
For good and valuable consideration, receipt of which is acknowledged, you
98-
hereby transfer and assign to Company your entire right, title, and interest
99-
(including all rights under copyright) in: (a) any software code,
100-
documentation, and/or other materials that you deliver to Company for
101-
inclusion in, improvement of, use with, or documentation of Company's software
102-
program(s), including but not limited to any code, documentation, and/or other
103-
materials identified in a contribution form you submit to Company in an
104-
applicable form designated by Company; and (b) any future revisions of such
105-
code, documentation, and/or other materials that you make hereafter. The code,
106-
documentation, other materials, and future revisions described above are
107-
collectively referred to below as the "Contribution."
108-
109-
As used below, the "Company Programs" means and includes the Company software
110-
program(s) identified on any contribution form you submit to Company, and any
111-
other software into which Company incorporates or with which Company uses or
112-
distributes the Contribution or any version or portion thereof.
113-
114-
Company grants you a non-exclusive right to continue to modify, make
115-
derivative works of, reproduce, and use the Contribution for your
116-
non-commercial or internal business purposes, and to further Company's
117-
development of Company Programs. This grant does not: (a) limit Company's
118-
rights, (b) grant you any rights with respect to the Company Programs; nor
119-
(c) permit you to distribute, operate for the benefit of third parties (for
120-
example, on a hosted basis), or otherwise commercially exploit the
121-
Contribution.
122-
123-
You acknowledge that if Company elects to distribute the Contribution or any
124-
version or portion thereof, it may do so on any basis that it chooses
125-
(including under any proprietary or open-source licensing terms), without
126-
further compensation to you.
127-
128-
You agree that if you have or acquire hereafter any patent or interface
129-
copyright or other intellectual property interest dominating the Contribution
130-
or any Company Programs (or use thereof), such dominating interest will not be
131-
used to undermine the effect of the assignment set forth above. Accordingly,
132-
Company and its direct and indirect licensees are licensed to make, use, sell,
133-
distribute, and otherwise exploit, in the Company Programs and their future
134-
versions and derivative works, without royalty or limitation, the subject
135-
matter of the dominating interest. This license provision will be binding on
136-
you and on any assignees of, or other successors to, the dominating interest.
137-
138-
You hereby represent and warrant that you are the sole copyright holder for
139-
the Contribution and that you have the right and power to enter into this
140-
contract. You shall indemnify and hold harmless Company and its officers,
141-
employees, and agents against any and all claims, actions or damages
142-
(including attorney's reasonable fees) asserted by or paid to any party on
143-
account of a breach or alleged breach of the foregoing warranty. You make no
144-
other express or implied warranty (including without limitation any warranty
145-
of merchantability or fitness for a particular purpose) regarding the
146-
Contribution.
17+
Your use of the Shotgun Pipeline Toolkit is governed by the applicable license agreement between you and Autodesk/Shotgun.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This file is a placeholder to ensure that the parent folder is preserved and not deleted by git.
2+
# Any file named 'placeholder' will not be copied across when folders are created.
3+
# Note: You can which files should be ignored when folders are created in the ignore_files file,
4+
# located in the schema folder.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This file is a placeholder to ensure that the parent folder is preserved and not deleted by git.
2+
# Any file named 'placeholder' will not be copied across when folders are created.
3+
# Note: You can which files should be ignored when folders are created in the ignore_files file,
4+
# located in the schema folder.

core/templates.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,20 @@ keys:
121121
default: ma
122122
alias: extension
123123

124+
# These are used by Unreal
125+
sg_category_1:
126+
type: str
127+
shotgun_entity_type: Asset
128+
shotgun_field_name: sg_category_1
129+
sg_category_2:
130+
type: str
131+
shotgun_entity_type: Asset
132+
shotgun_field_name: sg_category_2
133+
sg_category_3:
134+
type: str
135+
shotgun_entity_type: Asset
136+
shotgun_field_name: sg_category_3
137+
124138
#
125139
# The paths section contains all the the key locations where files are to be stored
126140
# by Sgtk Apps. Each path is made up of several keys (like {version} or {shot}) and
@@ -358,6 +372,16 @@ paths:
358372
hiero_render_path:
359373
definition: 'sequences/{Sequence}/{Shot}/editorial/{YYYY}_{MM}_{DD}/renders/{project}_{Shot}.{SEQ}.dpx'
360374

375+
#
376+
# Unreal
377+
#
378+
379+
# level sequence review output from unreal
380+
unreal_movie_render:
381+
definition: 'shotgun/movie_render/{name}[.v{version}].avi'
382+
unreal_movie_publish:
383+
definition: 'to_publish/{name}[.v{version}].avi'
384+
361385
##########################################################################################
362386
# Asset pipeline
363387

@@ -414,6 +438,20 @@ paths:
414438
# The location of published maya files
415439
maya_asset_publish:
416440
definition: '@asset_root/publish/maya/{name}.v{version}.{maya_extension}'
441+
# use maya_asset_work
442+
# maya_scenes: "shotgun/maya_scenes/{name}[.v{version}].mb"
443+
# use maya_asset_publish
444+
# maya_scenes_publish: "shotgun/maya_publish/{name}[.v{version}].mb"
445+
# The location of FBX exports for Unreal
446+
maya_asset_fbx_export:
447+
definition: '@asset_root/work/fbx/{name}.v{version}.fbx'
448+
maya_asset_fbx_publish:
449+
definition: '@asset_root/publish/fbx/{name}.v{version}.fbx'
450+
# The location of turntable review output rendered in Unreal
451+
maya_ue4_turntable_render:
452+
definition: '@asset_root/work/images/{name}_turntable_v{version}.avi'
453+
maya_ue4_turntable_publish:
454+
definition: '@asset_root/review/{name}_turntable_v{version}.avi'
417455

418456

419457
#
@@ -527,6 +565,17 @@ paths:
527565
definition: '@asset_root/publish/nuke/{name}.v{version}.nk'
528566

529567

568+
#
569+
# Unreal
570+
#
571+
572+
# static mesh export from unreal
573+
unreal_asset_fbx_export:
574+
definition: 'shotgun/fbx_export/{name}.fbx'
575+
unreal_asset_publish:
576+
definition: 'to_publish/{name}.fbx'
577+
578+
530579
#
531580
# The strings section is similar to the paths section - but rather than defining paths
532581
# on disk, it contains a list of strings. Strings are typically used when you want to be
@@ -549,3 +598,14 @@ strings:
549598

550599
# define how new Mari projects should be named
551600
mari_asset_project_name: "{mari.project_name} - Asset {asset_name}, {task_name}"
601+
602+
# base templates for a Shotgun asset to import into the Unreal Content Browser
603+
unreal_asset_template: "/Game/Assets/{sg_asset_type}/{Asset}/"
604+
unreal_asset_notype: "/Game/Assets/{Asset}/"
605+
unreal_published_file: "/Game/PublishedFiles/{Asset}/"
606+
607+
# project-specific templates using categories to classify assets for Unreal import
608+
unreal_fields_query: "{sg_asset_type} {Asset} {sg_category_1} {sg_category_2} {sg_category_3}"
609+
unreal_asset_3_categories: "/Game/Assets/{sg_category_1}/{sg_category_2}/{sg_category_3}/{Asset}/"
610+
unreal_asset_2_categories: "/Game/Assets/{sg_category_1}/{sg_category_2}/{Asset}/"
611+
unreal_asset_1_category: "/Game/Assets/{sg_category_1}/{Asset}/"

env/includes/engine_locations.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,10 @@ engines.tk-shotgun.location:
7979
name: tk-shotgun
8080
version: v0.8.2
8181

82+
# Unreal
83+
engines.tk-unreal.location:
84+
type: git_branch
85+
path: [email protected]:shotgunsoftware/tk-unreal
86+
branch: master
87+
version: 3f7ab98bfe2f8b475a64208481e8037d21ab1c4b
8288

env/includes/frameworks.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,11 @@ frameworks:
5454
version: v0.2.7
5555
type: app_store
5656
name: tk-framework-widget
57+
58+
# unrealqt - PySide build for Unreal (Windows-only)
59+
tk-framework-unrealqt_v1.x.x:
60+
location:
61+
type: git_branch
62+
path: [email protected]:shotgunsoftware/tk-framework-unrealqt
63+
branch: master
64+
version: d21ff6124a901ce018ab639cbefe8bfc67115a79

env/includes/settings/tk-multi-loader2.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,23 @@ settings.tk-multi-loader2.motionbuilder:
259259
hierarchy: [entity, content]
260260
location: "@apps.tk-multi-loader2.location"
261261

262+
# unreal
263+
settings.tk-multi-loader2.unreal:
264+
action_mappings:
265+
Motion Builder FBX: [import_content, import_level]
266+
Maya FBX: [import_content]
267+
actions_hook: '{engine}/tk-multi-loader2/tk-unreal_actions.py'
268+
entities:
269+
- caption: Current Project
270+
type: Hierarchy
271+
root: "{context.project}"
272+
publish_filters: []
273+
- caption: My Tasks
274+
type: Query
275+
entity_type: Task
276+
filters:
277+
- [project, is, '{context.project}']
278+
- [task_assignees, is, '{context.user}']
279+
hierarchy: [entity, content]
280+
publish_filters: [["sg_status_list", "is_not", null]]
281+
location: "@apps.tk-multi-loader2.location"

env/includes/settings/tk-multi-publish2.yml

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,15 @@ settings.tk-multi-publish2.maya.asset_step:
178178
settings:
179179
Publish Template: maya_asset_publish
180180
- name: Publish to Shotgun
181-
hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session_geometry.py"
181+
hook: "{self}/publish_file.py:{config}/tk-multi-publish2/tk-maya/basic/publish_fbx.py"
182182
settings:
183-
Publish Template: asset_alembic_cache
183+
Work Template: maya_asset_fbx_export
184+
Publish Template: maya_asset_fbx_publish
185+
- name: Render Turntable in UE4
186+
hook: "{self}/publish_file.py:{config}/tk-multi-publish2/tk-maya/basic/publish_turntable.py"
187+
settings:
188+
Work Template: maya_ue4_turntable_render
189+
Publish Template: maya_ue4_turntable_publish
184190
help_url: *help_url
185191
location: "@apps.tk-multi-publish2.location"
186192

@@ -391,4 +397,33 @@ settings.tk-multi-publish2.motion_builder.shot_step:
391397
help_url: *help_url
392398
location: "@apps.tk-multi-publish2.location"
393399

400+
################################################################################
401+
402+
# ---- Unreal
394403

404+
# project
405+
settings.tk-multi-publish2.unreal.project:
406+
collector: "{self}/collector.py:{engine}/tk-multi-publish2/basic/collector.py"
407+
collector_settings:
408+
Work Template: unreal_asset_fbx_export
409+
publish_plugins:
410+
- name: Publish to Shotgun
411+
hook: "{self}/publish_file.py"
412+
settings: {}
413+
- name: Upload for review
414+
hook: "{self}/upload_version.py"
415+
settings: {}
416+
- name: Publish to Shotgun
417+
hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session.py"
418+
settings: {}
419+
- name: Publish to Shotgun
420+
hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_asset.py"
421+
settings:
422+
Publish Template: unreal_asset_publish
423+
- name: Publish to Shotgun
424+
hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_movie.py"
425+
settings:
426+
Work Template: unreal_movie_render
427+
Publish Template: unreal_movie_publish
428+
help_url: *help_url
429+
location: "@apps.tk-multi-publish2.location"

env/includes/settings/tk-multi-shotgunpanel.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,4 +222,11 @@ settings.tk-multi-shotgunpanel.photoshop:
222222
Version:
223223
- actions: [quicktime_clipboard, sequence_clipboard, add_to_playlist]
224224
filters: {}
225+
location: "@apps.tk-multi-shotgunpanel.location"
226+
227+
# unreal
228+
settings.tk-multi-shotgunpanel.unreal:
229+
actions_hook: '{self}/general_actions.py:{engine}/tk-multi-shotgunpanel/tk-unreal_actions.py'
230+
action_mappings: {}
231+
enable_context_switch: true
225232
location: "@apps.tk-multi-shotgunpanel.location"

0 commit comments

Comments
 (0)