What's new?

We'll keep this page update with the most important bits of what's new and getting started with the tools.

Last update: 02.03.2018

Quick Start


  • Maya 2010+
  • OS - WIndows, Mac, Linux


If you connect to cgmTools via our github repos with sourceTree or something like that. Don't use this method. It'll overwrite it depending on where your repos is. If you don't, ignore this.

  1. Download this file and put it it in your scripts folder.
  2. Open maya
  3. In a python command line: import cgmUpdate then cgmUpdate.here(). When you do this, you'll get a confirm dialog showing you where it's detected the install location. You can change if you like.See image above.

As long as you have a net connection this should:

  • Grab the latest build from one of our branches
  • Download it
  • Unzip it
  • Move everything to the scripts folder as needed
  • Delete the zip stuff.
  • Load the toolbox


  1. Windows - c:\Users\<USERNAME>\My Documents\maya\<version>\scripts
  2. Mac - /Users/<USERNAME>/Library/Preferences/Autodesk/maya/<version>/scripts

If you're having issues, check .. Support

Active Development


  • Toolbox - Continuing to flesh out the tools as we work through gigs.
  • MRS - Morpheus Rig System
  • Build Pulls - Implemented. In testing


  • cgmUpdateTool - Alpha 1.0
  • SetTools 2.1


  • cgmSnap 1.0
  • cgmJointTools 1.0
  • SetTools 2.0
  • Transform Tools
  • New Docs using Sphinx
  • Toolbox 2.0
  • MarkingMenu 2.0
  • dynParentTool
  • AttrTools 2.0
  • Locinator 2.0


  • MeshTools 1.0 - Initial Release

Release Notes


  • Merged branches for update tools to be more useful

    • Master - main branch
    • Stable - Will attempt to only have stable builds here
    • MRS - dev branch for MRS development

updateTool 1.0

  • Alpha 1.0 release
  • Tool for getting cgmTool branch commits
  • The default initial branch is 'stable'. The user can change this after initial install.

setTools 2.1

  • Marking menu added
  • Type flagging readded from 1.0
  • WARNING - Dealing with some crash bugs in 2017

MRS.sprint 2

  • UI
    • mrsAnimate Alpha - docs
    • mrsBuilder - coming along
  • Conepts
    • Reworked template theory. Template phase now all about shaping
    • IK.handle/ribbon reworked
  • Blocks
    • Main humanoid modules functioning - segment, limb, head


  • ATTR.datList... - made float 3 work.

New Calls

  • DIST.get_asisBox_size - rigging call for getting bb relative sizing data
  • DIST.offsetShape_byVector - because maya's offset curve call is finicky (because of shape direction?).


MRS.sprint 1

  • UI
    • First pass on ui layout
    • Add, edit change states of blocks
    • Initial mirroring
  • Blocks
    • Master - Initial features complete
    • Handle - Initial features complete
  • MetaClasses - Inital rewrites of core puppet meta classes complete. We'll be culling out cgmPuppetMeta in time as this is replacing

    • cgmRigBlock
    • cgmRigPuppet
    • cgmRigModule
    • cgmRigMaster

New Calls

  • cgmGEN.func_getTraceString - given a function, get a string trace to its module for reporting like cgm.core.cgmGeneral.func_getTraceString
  • cgmGEN.func_snapShot - usage should be cgmGEN.func_snapShot(vars()) in your function. Will give you a report of the values at that point in the call process
  • cgmGEN.cgmExceptCB - Our new exception handler with nested exception handling
  • RAYS.get_cast_pos - Get a position from a cast vector. Simple return for rigging purposes
  • ATTR.reset
  • SNAPCALLS.get_special_pos - Part of the cgmSnap push
  • RIGCONSTRAINTS.attach_toSurface - For ribbon setup
  • ``IK.ribbon ``- initial setup

Bug Fixes

  • ``ATTR.set_message ``- wasn't working right with clearing multimessage attrs. Now it is.
  • ``ATTR message handling ``- Advanced message storage now only adds extra dat attrs when necessary. Keeps things cleaner.


First pass on cgmSnap.



First pass. Accessible via the top menu and nested in the cgmToolbox


First pass on cgmJointTools.



Initial pass. Accessible via the top menu and nested in the cgmToolbox.



  • Bit of work from MRS update
  • orientByPlane - Thanks to Brad Clark for the suggestion
  • orientChain - reworked and improved
  • tweakOrient - Props to Michael Comet. Pythonized one of his calls.


Small sprint on getting the main menu working a bit faster and fixing a few bugs.


Rework of cgmTop menu for speed. Previously, it was rebuilding everytime you moused over the menu. Now it does initially then on request via the Rebuild option.

  • Moved module stuff around to clean things up and again try to get a bit more speed

  • Create mid point mode - After doing some gig work, added the ability to create not just via object but by midpoint of objects or components

    • Toolbox> TD Tab > Rigging Section > Create row - null(mid), jnt(mid), loc(mid)


For the sake of speed moving away from the all in one menu and instead providing access to important items and tools for more options. The marking menu option toggling was just too tedious.

  • Added align options to snap marking menu. Marking Menu > Snap > Point > Along line (even/spaced)
  • Added TD Marking Menu > Create > Mid > Null/Joint/Locator
  • Rewored bottom menu to just be our most used tools rather than being contextual


This took some rework of some core stuff and refactoring from non core libraries. Prompted by the last project Josh worked.

  • Started cgm.core.lib.sdk_utils for this endeavour.

  • NEW Calls

    • cgm.core.lib.search.seek_upStream/seek_downStream
  • New section in cgmToolbox

  • Ammended top menu with new functions

  • seShapeTaper - Moved from joints

  • NEW Buttons

    • Get Driven - Get objects driven by an sdk driver (usually an attribute) and select them
    • Get Driven Plugs - Get plugs driven by an sdk driver