This course is closed for enrollments, submit the form to get notified early next time this course runs.

Thank you for your interest, you will be notified next time this course runs.

Oops, something went wrong:

  • Difficulty Level:

    workshop-level-i I


Perhaps one of the greatest strengths of Maya is its ability to be modified and adapted to a variety of uses and media.  In this online 8 week CGWorkshop, The Matrix and Second Life veteran Karl Stiefvater shows you how to reach into the heart of Maya and change it to do YOUR bidding.

In this second installment in the Creating Maya Plugins series, we pick up exactly where we left off: creating new and useful extensions to Maya that you define, to solve your real world problems.

In this course we will cover the following advanced topics: creating custom manipulators for interactive editing; creating novel shape structures (beyond the typical mesh or surface); custom drawing of these new tools in the standard viewport and the new Viewport 2.0 (including the creation of custom OpenGL shaders.)  

We’ll cover the three different development environments (C++, Python, NET); how to write file type translators; issues related to multithreading;  and more.  

Each week we meet online to discuss homework and material covered.


Week 1 - Nuts and bolts

  • Course Introduction
  • Hello World plugin
  • Building plugins for OSX
  • Building plugins for Windows
  • Building plugins for Linux
  • Building plugins for Python
  • Building plugins for NET

Week 2 - Developing Commands

  • Manipulators - basics (move)
  • Custom Manipulator - jitter
  • Components
  • Painterly manipulators

Week 3 - Shapes

  • Shapes - basics (sphere)
  • Custom shape - Advanced particle
  • Selection
  • Components

Week 4 - Drawing

  • OpenGL
  • Drawing - shapes, colors, transparency
  • Texture samplers
  • Shaders

Week 5 - Shader Nodes

  • Viewport 2.0
  • Shading nodes
  • Lighting
  • Post processing

Week 6 - Files

  • File Translators
  • Custom shapes
  • Writing a custom file
  • Reading a custom file
  • Recursive structures

Week 7 - Threads

  • Multithreading
  • Threads and locks
  • OpenMP
  • SSE2

Week 8 - Last but not least!

  • Custom UI
  • Built-in components
  • Maya and Qt


What you'll need

The course is designed to adapt to many skill levels - novice developers should feel welcome to join.  

However, a rudimentary knowledge of C/C++ programming is necessary, as well as a development environment for the operating system of choice (Visual Studio, XCode, or gcc.)  

Maya is required.