The World of Pipeline and Tools Development

for Visual Effects and Computer Games

Certified Scrum Product Owner

This weeks I successfully attended a training course from Clinton Keith to become a Certified Scrum Product Owner. Two years ago I attended a course from him to receive my ScrumMaster certificate which I renewed with the latest course.

Even though I’m practicing Agile software development for many years now, I always learn something new in Clint’s courses and receive new impulses. One of my key insights from last week I want to explain in this post, the importance of agile development practices.

Continue reading

Building USD for Windows

With my background in VFX I’ve been closely watching the development around USD for a couple of years. However it took me until 2019 to get hands-on experience with it. Since then I built different versions of Pixar’s USD framework and the USD Maya plugin from Autodesk for Windows.

Building both seems to be a daunting task, but it turns out to be pretty straightforward, once the setup is correct. Especially for building the USD Maya plugin I found it important to use the correct combination of versions.

This blog post describes my process of building v20.11 of the Pixar USD Framework, v0.5.0 of the Autodesk USD plugin for Maya 2018.6, and v0.6.0 of the Autodesk USD plugin for Maya 2020.2.

Continue reading

Deep Work: Rules for Focused Success in a Distracted World

For a while now, I have been wondering how to strike the right balance between shallow work like reading emails, answering instant messages, or following up with team members, and deep work like defining the roadmap for the next year, researching technical challenges, or writing technical design documents.

I read “Deep Work: Rules for Focused Success in a Distracted World” by Cal Newport about this challenge and how to approach it. Bruce Wang, director of engineering of API systems at Netflix, recommended it during his talk “The Pursuit of Impact for Engineering Teams” at the Elevate Winter Summit 2020 hosted by Plato.

Here is what I learned from the book:

Continue reading

Start Your Box with Boxstarter

Last weekend I found myself in the unfortunate position where my Windows 10 installation was no longer stable and I couldn’t figure out how to save it. After 2 days of failing attempts to rescue it I decided to set it up from scratch.

Since Infrastructure as Code (IaC) is a vital part of DevOps I decided to apply it in this case as well. In my working life I already rely on Chocolatey to install most of my software. Boxstarter builds on top of Chocolatey and supports the fully automated setup of a new Windows machine.

Continue reading

Basic Setup for Customizing Shotgun Toolkit

This article describes the very basic steps to customize Shotgun Toolkit. For all features that go beyond this article I recommend you check out the official documentation.

  1. If you download and install the Shotgun Desktop app from the Shotgun web interface, you’ll find that you can only access the basic setup with a limited feature set.
    Download of Shotgun Desktop App from Shotgun web interface
  2. As you can see in the following screenshot from Maya, this basic setup includes the Shotgun Panel, the Publisher and the Loader.
    Basic Shotgun configuration in Maya
  3. In order to have access to the local file system, you’ll need to customize the default configuration. However, this sounds harder than it actually is.
  4. You’ll find the default config for the Shotgun Toolkit on GitHub: https://github.com/shotgunsoftware/tk-config-default2/releases From here download the ZIP-package for the latest version.
    Download tk-config-magnopus from Github.
  5. Open the ZIP-package and adjust the file tk-config-default2\core\roots.yml so it points to the right project location.
    Adjusted entries in roots.yml file.
  6. In the Shotgun web interface you create a new item for the so called Pipeline Configuration. I personally prefer to create a new global page which lists all of my pipeline configurations.
    Shotgun page listing all pipeline configurations.
  7. The following settings are important:
    • Config Name: Primary
    • Plugin Ids: basic.*
    • Uploaded Config: In this field you upload the ZIP-package for the default config that you downloaded from GitHub before.
  8. Below you see an exemplary entry for a custom pipeline configuration.
    Shotgun page listing all pipeline configurations, with an entry.
  9. In the next step you need to tell the Shotgun Toolkit where to find the project files. This is done in Site Preferences which you access through the Admin menu.
    Access Site Preferences through Admin menu.
  10. The “Site Preferences” contain an item called “File Management”. There you add the definition for a new local file storage. For this basic customized setup it’s important this entry is called “primary”. Make sure to hit the “Save Changes” button on the top or bottom of the page.
    File Management section in Site Preferences to define local file storage.
  11. In the last step you define the name of the folder in which all files for a project are stored. This is the field Tank Name in the project overview.
    Define Tank Name for project.
  12. If you now launch your DCC application you have full access to your local file system. You can see this in the following screenshot of Maya which now launches with the File Open dialog automatically loaded.
    Maya with Shotgun File Open dialog.