For open source MOPs release notes, please see the Releases page on GitHub.


  • Added compatibility for Houdini 20.5 (Python version 3.11)!
  • Rig modifiers now preserve scaling info when enforcing limits.
  • MOPs Alembic Skeleton now automatically handles skinning.
  • MOPs Collision Geo now accepts Packed USD primitives.
  • The group mask for MOPs Rig Spring now functions correctly.
  • MOPs Rig Spring can now be chained one after the other.
  • Updated MOPs Alembic Skeleton example file to reflect internal skinning update.
  • Updated MOPs Collision Geo example file to correctly remove template point attributes before simulation.


  • Added Propagation to MOPs Rig Spring for better secondary motion.
  • Added a propagation example section to the mops_rig_nodes.hip example file.
  • Added new tool: MOPs Rig Delay.
  • Reordered the MOPs Velocity Field’s voxel expansion to happen after any cropping.
  • Added “Collision Ignore Mask” parameter to snapping options on MOPs Apply Attributes DOP.


  • Added the Font Browser to MOPs Typography.
  • Added an optional Bounding Box input to MOPs Velocity Fields.
  • Added a Mask Attribute option to MOPs Rig Resample to fine-tune weight blending per-point.
  • Updated MOPs Rig Resample to use a much faster biharmonic weighting method by default.
  • Added “Custom SOP” guide type to MOPs Camera Blender.


  • Added an option to re-trigger points in MOPs+ Trigger Falloff.
  • Fixed a bug in MOPs+ Trigger Falloff that caused simulations to slow down over time.
  • Most of MOPs+ Greeble is now compiled, for better performance in some cases.
  • The MOPs+ Apply Attributes DOP now initializes template point attributes to prevent objects outside the group mask from disappearing.
  • Fixed a bug in MOPs+ Typography that caused glitching when letters were too close together.
  • MOPs+ Infection Falloff no longer remaps the raw spread attribute value when selected for output.
  • Added vellum_weld_break.hip to the included examples. This shows how to use MOPs+ to drive Vellum Weld constraints.
  • Updated the installation instructions.


  • Added compatibility for Houdini 20 / Python 3.10.
  • Fixed a bug in MOPs+ Deintersect that caused pieces to transform wildly in Houdini 19.5 and later.
  • Fixed a missing asset definition in the MOPs Waveforms example file.


  • Added “Crosshair” mode to MOPs Camera Blender.
  • Fixed a bug in MOPs Apply Attributes DOP that caused scaling in world space to shrink objects.
  • MOPs Apply Attributes DOP should no longer mangle pscale in Vellum grain simulations.
  • Fixed a bug in MOPs Apply Attributes DOP that prevented VEXpressions from evaluating.
  • Fixed the group mask selector for background fields in MOPs Velocity Fields.


  • Added new MOPs+ Rig nodes: MOPs+ Rig Spring, MOPs+ Rig Resample, and MOPs+ to KineFX.
  • Updated the mops_rig_nodes.hip example file.
  • Fixed the broken group selector button in MOPs Rig Transform.
  • MOPs Plus should now notify you if you’re using a build that’s not matched to Houdini’s Python version.


  • Added the first MOPs+ Rig nodes: MOPs+ Rig Falloff, MOPs+ Rig Transform, and MOPs+ Rig Noise.
  • Added new example file, mops_rig_nodes.hip
  • MOPs+ Trigger Falloff now has an option for a “threshold attribute” that can vary the trigger threshold per-point.
  • MOPs+ Camera Blender now has a menu script for Extra Attributes to quickly pick extra attributes to interpolate or bake.
  • Fixed a bug in MOPs+ Camera Blender that prevented single Extra Attributes from baking.
  • MOPs+ Typography now always corrects the facing direction of outlines to face +Z.
  • The minimum Python version for MOPs Plus is now 3.7. MOPs Plus is now built on Houdini 19.0.657 as a minimum version.


  • Added an “Initialize” preset to MOPs Fetch Attribute.
  • Added descriptive attributes (visible in the network) to all MOPsDOPs Falloffs.
  • Added a group mask dropdown selector to all MOPsDOPs Falloffs.
  • Added new Vellum-related example files.


  • MOPs Infection Falloff infection and resistance attributes can now be updated from SOPs during the simulation.
  • Group selectors for volume falloffs now single-select volumes. Future support for applying falloff to multiple volumes is TBA.
  • MOPs Collision Geo now checks for an id attribute, and rejects packed Alembics. Use the Repack SOP or MOPs Convert to convert these before generating collision geometry.
  • Updated site licensing for better support on networks spanning multiple subnets.
  • Updated all example files to use latest node definitions and H19 forward compatibility.


  • Added MOPs Infection Falloff.
  • Added an example file, infection_falloff.hip.
  • Fixed a bug in MOPsDOPs Falloffs introduced in the previous build that prevented the output attribute from correctly remapping.


  • Added Shape Falloff Volume and Object Falloff Volume! Now you can create falloffs to modify fog volumes, heightfields, and vector volumes.
  • Added volume_falloffs.hip example file.
  • Added “Nearest Point” and “Nearest Point on Surface” Match By modes to MOPs+ Apply Attributes.
  • Updated mopsdops_examples_2.hip to show how the new Nearest Point on Surface match mode works.
  • Updated mopsdops_examples_2.hip with a new example: “explode_rebuild_RBD_SOP” to show some quirks of using the RBD Bullet Solver SOP with MOPs.
  • MOPs+ Edit will now transform correctly when encountering non-consecutive point IDs.
  • MOPs+ licensing errors now output to stderr, which should be visible in most render farm error logs.
  • Falloff DOPs now apply their remapping operation BEFORE combining with existing falloff operations, which should be more predictable and user-friendly.


  • MOPs Edit now correctly respects the mops_orient attribute when drawing handles and applying transformations.
  • MOPs Camera Blender’s “Mask Shake by Speed” function should no longer throw errors.
  • MOPs Sequencer now keeps the beat and measure attributes when input geometry is connected. This should ensure that the time indicator in the Clips UI works correctly when using input geometry.
  • Site licensing now supports Linux workstations.


  • Improved the interactive handle in MOPs Physics Edit when in local transformation mode. Handle behavior should be far more predictable. Objects will remain put when swapping between local and world space.
  • Added a “Compute Center of Mass” toggle to MOPs Physics Edit. Disabling this ensures that object pivots won’t change at the start of simulation. This toggle is now disabled by default.
  • Added HUD hints to MOPs Physics Edit.
  • Added physics_edit.hip example file.


  • Improved the stability and responsiveness of MOPs Edit. It should be quicker and far less crashy now.
  • Fixed a bug in MOPs Greeble that caused the node to throw an error with default settings.


  • Added “Goal” mode to MOPs Curve Toys. This attracts curves towards a goal position.
  • Added a new example file to demonstrate the new Goal mode of MOPs Curve Toys.
  • Added MOPs Waveforms v1.1. This changes the “Time” parameter to “Cycles” for easier looping.
  • Fixed the group mask selector for all modes in MOPs Curve Toys.
  • Fixed a definition problem with MOPs Edit that prevented the new v1.1 from being accessible. You can now edit pivots like you’re supposed to!


  • Added MOPs Edit v1.1, which allows you to modify pivots as well as transforms. Press ‘ (apostrophe) while in the tool state to activate!
  • Exposed the edit history in MOPs Edit v1.1 so that changes can be retroactively modified.
  • Added HUD tooltips to MOPs Edit v1.1.
  • MOPs Velocity Field SOP now automatically sets the VDB vector type of the velocity field and any incoming background field to the correct type (“contravariant relative”, i.e. displacement/velocity/acceleration).
  • Ophidden the MOPs Physics Edit Core SOP, which is not meant to be used directly.


  • Fixed a bug in MOPs Velocity Field SOP that prevented the Background field from compositing correctly. You may need to replace existing MOPs Velocity Field nodes with a new node for the change to take effect.
  • MOPs Trigger Falloff now supports new points being added during the simulation.
  • Updated some license error messages to make them easier to interpret.


  • Added MOPs Velocity Field SOP.
  • Fixed a bug in MOPs Edit that caused slowdowns when editing time-dependent geometry in Houdini 19.0.


  • Added MOPs Physics Edit SOP.


  • Fixed a bug in MOPs Typography that could potentially break the sort order of generated letterforms.


  • Fixed a number of bugs in MOPs Move Along Spline DOP:
  • There’s no longer a noticeable “bump” at the beginning of most curves when objects are first attached.
  • Added a toggle to allow for moving over closed curves seamlessly (“Closed Loop” paramater)
  • The “Orient Offset” parameter should now work as expected.
  • The “Orient Offset” ramp parameter should now work as expected.
  • All MOPs Plus nodes are now named using “mops” instead of “MOPs” to make it easier to sort important nodes in your network.


  • MOPs Typography is now more consistent about correcting primitive normals and extrusion direction on both generated and imported outlines.
  • Added an option to MOPs Typography to output a group for front faces inside the bevel.
  • Bevels and chisels in MOPs Typography can now be optionally single-sided.
  • Site licensing is now supported on Windows, Mac OS and Linux.


  • Added MOPs Pre/Post-Roll. This procedurally generates pre- or post-roll animation from existing animation, given a time range.
  • Added a new example file, pre_post_roll.hip.
  • All Falloff DOPs now have VEXpression controls. This makes it much easier to arbitrarily bind falloff values to other attributes.
  • Added an “Initialize” parameter to Falloff DOPs. This quickly sets other parameters to adjust constraint primitive attributes for Vellum or RBDs, or point attributes on simulated geometry.
  • A new example file, vellum_falloff_02.hip, has been added to demonstrate the new Falloff DOP features.
  • Added a “Fit to Bounds” option to MOPs Typography.


  • Added an “Always On Top” toggle to the MOPs Sequencer Clips UI.
  • Fixed a licensing issue with MOPs Waveforms.
  • Changed the “Offset” and “Offset Scale” parameters on MOPs Waveforms to “Time” and “Time Scale” for clarity.
  • Added the “sequencer.hip” example file to the Python 3 build of MOPs+ (it was previously only in the Python 2 build).


  • Added the MOPs Sequencer Generator.


  • Added compatibility for Houdini 19! All example files have been updated.
  • MOPs Apply Attributes DOP has been completely rewritten to take advantage of H19 improvements to the RBD Solver.
  • Most MOPsDOPs will evaluate significantly faster than before in all solver types (RBD, Vellum, POP).
  • Added a “flip direction” option to the Chisel beveling type in MOPs Typography.
  • “Align to Baseline” in MOPs Typography now ignores “special” characters when calculating the baseline.


  • Added a Pivot option to MOPs Filter.
  • Added documentation to MOPs Filter.
  • Fixed a bug in MOPs Filter that threw an error when the Extra Attributes field was empty or pointed to no valid attributes.
  • Fixed a licensing bug on OSX and Linux systems.
  • Modified the default JSON package file to prevent annoying Python warnings in future versions of Houdini.


  • Added MOPs Filter, a SOPs-based temporal filter for any float or vector3/4 point attributes.
  • MOPs Typography now properly exports primitive groups when in Chisel mode.


  • Massively improved the speed of all MOPsDOPs.
  • Improved selection handle behavior on MOPs Edit. It should now behave much more naturally when selecting and re-selecting objects.
  • Improved the cooking efficiency of MOPs Edit, especially when lots of edits are done in a single node.


  • First official Python 3 release!
  • Updated all internal scripts for compatibility with OSX running Python 3.
  • Added static collider option to MOPs Deintersect and exposed some other Bullet parameters.
  • Improved position constraints in MOPs Deintersect when dealing with pivots not already at the center of mass.
  • MOPs Collision Geo now has a “Treat As Solid” option for convex decomposition.


  • Fixed a group mask bug in MOPs Move Along Spline DOP that prevented multiple copies of the node from working in succession.


  • Fixed a bug in MOPs Edit that caused the wrong primitives to move if a primitive upstream was deleted.
  • MOPs Edit now has built-in viewport handle cycling using the user’s existing bound hotkey (defaults to “M”).
  • MOPs Camera Blender now allows the use of external paths when in “Camera Index” mode.
  • MOPs Camera Blender now tries to create the initial blended camera in a better network position.
  • Added a group mask parameter to MOPs Collision Geo.


  • Fixed a bug that could cause MOPs+ Camera Blender not to function due to a node or parameter synchronization error.


  • The “Bake Camera” button on the MOPs+ Camera Blender now matches all available parameters to the original camera, including those not interpolated.
  • Channel links are automatically generated when the “Extra Attributes” parameter is added to.
  • Improved MOPs+ Camera Blender interpolation when “Maintain Pivot” is enabled and there’s less than three camera inputs.


  • Greatly improved the smoothness and stability of MOPs+ Camera Blender, especially when “Maintain Pivot” is enabled. There should be significantly less bumps in most camera movements.
  • Added a new example file, “camera_blender_new” that shows off a little more of what you can do with the node.


  • Added “Maintain Focus Distance” option to MOPs+ Camera Blender. This forces the blended camera to maintain the blended Focus Distance from the source cameras as it interpolates between them.
  • Modified Smoothing options on MOPs+ Camera Blender.
  • Fixed an interpolation issue that could cause flipping on some cameras when blending over a 180-degree rotation.
  • Fixed a bug that could incorrectly modify composition guides if an external camera path had color or template point attributes.


  • The MOPs+ Attribute Mapper now supports drag-drop reordering of table rows.
  • MOPs+ Greeble can now output groups for “front” and “side” faces.
  • Updated the undo state for MOPs+ Edit. This should make undo operations more predictable.
  • Added preliminary VEXpression support to MOPs+ Move Along Spline DOP.


  • The MOPs+ Camera Blender composition guides now correctly follow the camera when Filtering options are enabled.
  • Added a “Frequency Scale” attribute option to MOPs Waveforms.
  • Fixed Python 3 compatibility with MOPs Waveforms.


  • Added MOPs+ Magnetize.
  • Added Filtering options to MOPs+ Camera Blender.
  • Fixed a broken channel reference in MOPs+ Camera Blender that prevented rotation order from being properly applied in Euler mode.


  • Fixed a bug in MOPs Apply Attributes DOP that caused object scales to be reset when applying forces in “Position/Rotation” mode.
  • Updated the rotation behavior in MOPs Noise Modifier DOP to be smoother with less flipping.
  • Improved aiming behavior in MOPs Aim to be more consistent with less flipping.
  • Fixed a bug in MOPs Roll DOP that prevented rolling from happening before collisions, even with “Wait for Collisions” disabled.
  • Updated the pops_roll example file.
  • MOPs Stepper now has a “Uniform” toggle for vector parameters.
  • The MOPs Fetch Attribute DOP group parameter now has a dropdown to find groups from the processed object.
  • Fixed an activation bug that would throw an error if a user tried to activate when any network viewer was not in Object or Geometry contexts.


  • Added Local Axis controls to MOPs+ Aim DOP. This allows you to more precisely choose your local forward and up vectors.
  • Added revised “Camera Index” mode to MOPs+ Camera Blender. This allows you to blend cameras based on the camera number instead of a normalized 0-1 value.
  • Added “Attribute Detach” options to MOPs+ Move Along Spline DOP. This allows you to detach from the path based on an attribute threshold.
  • Made several bugfixes to MOPs+ Apply Attributes DOP to create more predictable behavior, especially when chaining multiple MOPsDOPs and POP forces together.
  • The MOPs+ Attribute Mapper can now apply operator or file paths to multiple rows at once by selecting rows before clicking the selector button.
  • Added a “Normalize Attribute” button to MOPs+ Attribute Mapper. This quickly normalizes a float attribute’s values in the table for easy use with Falloffs.
  • Fixed composition guide thickness in MOPs+ Camera Blender.
  • Added an example file for MOPs+ Aim DOP.
  • Added an example file for MOPs+ Fetch Attributes and Vellum constraints. This shows how to use MOPs+ Fetch Attributes to easily modify constraint attributes mid-simulation.
  • Added an example file for MOPs+ Stepper.
  • Added an instance path example network to the MOPs+ Attribute Mapper example file. This shows how you can use the Mapper to influence instance paths.
  • Updated MOPs+ Attribute Mapper documentation with a visual guide.


  • Added the MOPs+ Stepper SOP. This quantizes transform and other point attributes to fixed intervals (i.e. 45-degree or 0.1-unit increments).
  • Made several improvements to MOPs Camera Blender:
    1. Removed “Fit Type” parameter. The “Accurate” fit type is now the default and only interpolation mode.
    2. Improved the camera interpolation so that with default settings the path will always pass perfectly through each input camera.
    3. Paths are now properly calculated for 2-camera and 3-camera setups. Paths are by necessity linear in these situations; you must use post-smoothing options or a custom path for 3-camera setups (this is because Bezier curves require at least four control points).
    4. Added post-interpolation path smoothing options.
    5. Added an “Export Raw Path” button to go with the “Export Path” button. This allows you to start from an interpolated path when customizing.
    6. Added camera_blender_custom.hip to the examples. This shows how to use other MOPs nodes to influence a custom camera path.


  • Added a new default “Accurate” interpolation mode to MOPs Camera Blender. This can be controlled via the “Fit Type” parameter.
  • Added the ability to change the visible thickness of composition guides in MOPs Camera Blender.


  • Added MOPs+ Camera Blender.


  • Added “Pulse” function to MOPs Waveforms.
  • Fixed a bug in MOPsDOPs Apply Attributes that mistakenly set id attribute -1 in Vellum and other particle simulations.
  • Fixed Python3 compatibility in MOPs Shape Falloff DOP.
  • Made several changes to MOPs RBD Runtime Constraints:
    1. The Mask parameter now requires both objects involved in an impact to be included in the Mask for a collision to register. This excludes static objects like Ground Plane DOPs.
    2. The constraint orientation is now based on the p@orient attribute instead of the transform intrinsic. This should result in more stable orientations on impact.
    3. This DOP can now differentiate correctly between multiple DOP objects in collisions.


  • Added MOPs RBD Runtime Constraints DOP.
  • Added MOPs Waveforms.
  • Added example files for the two new operators.
  • Fixed a bug in MOPs+ Combine Falloffs that prevented DOP Falloffs from functioning in Python3 builds of Houdini.


  • Scaling in both local and world space, with support for the mops_orient attribute, now works properly in MOPs+ Apply Attributes DOP, to match the recent changes to MOPs Apply Attributes SOP.
  • Fixed a bug that caused Houdini to crash while collapsing MOPs+ Typography into a subnet in Python 2 builds of Houdini.
  • Fixed the “Inside”, “Outside” and “Surface Distance” modes on MOPs+ Object Falloff DOP.


  • Added MOPs Fetch Attribute DOP.


  • Fixed a bug in MOPs Typography and MOPs Edit that prevented compatibility with Python 3 builds of Houdini.
  • Fixed a bug in MOPs Typography that caused letter index attributes to be generated incorrectly with multi-line text imported from a file.


  • Refactored all Python code for Python 3 compatibility. Note that this change will cause the stored table data in MOPs Attribute Mapper to be invalid. You will need to repopulate any MOPs Attribute Mapper tables. Apologies for the inconvenience.
  • Fixed a bug in the Activation process that threw an error if the button was clicked outside a SOP network.


  • Fixed an unlikely bug in the Apply Attributes DOP that could break snapping behavior.
  • Fixed bug in activation that threw an error when trying to re-activate an activated license.
  • Clarified activation procedure.