Build Scripting

class BaseBuildScript

Bases: Plugin

Build scripting allows a user to run custom python code during each build stage. These build scripts will also be saved into the rigs configuration so when the rig loaded at a later time this scripts will be loaded once more.

Each build script is setup as a plugin which will be discovered by hive when the hives configuration is loaded.

id = ''
static properties()

Build script properties which will be passed to each method and provided to the buildScript UI Widget.

Each property is described as a dict containing the necessary information for the UI to generate.


Only the following types are supported: #. filePath #. string #. boolean

Example filePath property

[{"name": "path", # the name for the property.
"displayName": "", # The display name for the property.
 "value": "", # The python object which makes the type.
 "type": "filePath", # The type for the UI generation. currently only supports filePath.
 "layout": [0, 0], # The UI grid layout column,row.
 "toolTip": ""


When accessing the properties in pre/post methods it’s simply properties[propertyName] which will return the value. When you need to set the properties you set it on the rig meta node like so

rig.configuration.setBuildScriptConfig({"myBuildId": {"propertyName": "myValue"}})

A list of property dict

Return type:


classmethod propertiesAsKeyValue()

Returns the properties as a key value pair


A dict of properties

Return type:


property rig

The current rig instance for the build

Return type:



Executed Before Any guide has been build on the rig


Executed once all guides on all components have been built into the scene.


Executed before the deformation layer has been built or updated for all components.

This is the ideal point in the process to export skin weights if the skeleton already exists.


Executed after the deformation and I/O layers has been built for all components including all joints.

This is ideal point in the process to reimport skin weights if necessary.


Executed before the rig Layer has been built for all components.


Executed after the rig Layer has been built for all components.


Executed after the polish stage.

Useful for building space switching, optimizing the rig, binding asset metadata and preparing for the animator.


Executed before the guides of the rig gets deleted.


Executed before the deform layer of the rig gets deleted.


This is pretty rare unless done directly through the API as we don’t provide deletion currently to the end user.


Executed before the rig layer of the rig gets deleted.


Executed before all components gets deleted on the rig.


This method does get run when rig.deleteComponent get run use preDeleteComponent()

preDeleteComponent(component, properties)

Executed before a single component gets deleted.


This method does get run when rig.deleteComponents get run use preDeleteComponents()


Executed when the entire hive rig gets deleted.


preDeleteComponents() gets run before this method.