Share

Publish and use a module

Once your rigging module is functional, it’s important to finalize it so that it can be reused or shared with others.

Finalizing and Publishing the Module

Before a module is used in production, take time to clean it up and prepare it for publishing.

Review exposed parameters

If your module has parameters that control logic in user_setup or user_animation, make sure they are exposed at the top level of the compound. This allows you to adjust behavior later, even after the module has been published.

For reference, the root_module and arm_module examples expose parameters under a Setup port group to control key parts of their user_setup.

Publish the module compound

When your module is ready, you can publish it. To publish a module:

  1. Click on the three dots at the top of your module and select Publish "my_custom_module"....
  2. Use the Browse button to set the file path.
  3. Define the name and namespace of your module.
  4. Click on Publish to complete the process.

publishing a module

Once published, the module can be created via the Tab menu or the Node Library, and its JSON file can be distributed.

A Note on Performance

Rigging Modules can become expensive to evaluate if development settings are left enabled. For optimal performance, be mindful of two key features: Edit Mode and Diagnostics.

Edit Mode

Every module includes an edit_mode parameter that, when enabled, forces key parts of the module, such as the user_setup, or look-up operations in the find_* nodes used inside user_animation, to be recomputed on every graph evaluation.

This is essential while editing a module, as it ensures that changes to the structure, initial state, or parenting rules are always reflected immediately.

However, leaving edit_mode enabled during animation leads to significant performance degradation. When disabled, the module will automatically cache results and skip unnecessary recomputation.

  • Enable edit_mode when:

    • You are modifying internal logic in user_setup or user_animation.
    • You are tweaking exposed parameters that are directly affecting the user_setup logic, or find_* nodes used inside user_animation.
  • Disable edit_mode when:

    • A module is ready to be used for rigging and animation and you want to maximize performance.

Diagnostics

Modules support optional visual debugging via the Diagnostics port group and the terminal D flag. These toggles allow you to display pins, controls, joints, and their respective transforms directly in the viewport.

This is useful for inspecting what a module generates and how it behaves during development, but keeping diagnostics active during animation can lead to significant performance degradation.

Unless you are actively debugging a module, be sure to disable the diagnostics D flag and related display settings to maintain optimal performance.

Was this information helpful?