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:
- Click on the three dots at the top of your module and select Publish "my_custom_module"....
- Use the Browse button to set the file path.
- Define the name and namespace of your module.
- Click on Publish to complete the process.
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
oruser_animation
. - You are tweaking exposed parameters that are directly affecting the
user_setup
logic, orfind_*
nodes used insideuser_animation
.
- You are modifying internal logic in
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.