A subprogram is a group of nodes encapsulated to form a function that takes some inputs and return some outputs or perform a certain task. Subprograms are modular in the sense that they are reusable, once a subprogram is defined, it can be called/invoked using the Invoke node as much as needed with possibly different inputs. By using subprograms, one avoid to repeat similar parts of the node tree resulting in a more efficient and organized node tree. A subprogram can be defined in three different ways using:

Which can be called/invoked using:

A minimal version of the script subprogram is provided using: