Casi todo Maya está construido con nodos conectados entre sí. Un nodo en Maya es un módulo que acepta datos de ingreso y emite datos de salida luego de un proceso interno. Al igual que los objetos en la programación orientada a objetos, cada nodo es un pequeño programa independiente el cual no se relaciona de ninguna manera con el funcionamiento interno de otros nodos, simplemente acepta datos de estos y los procesa generando otro tipo de datos.
Cada nodo tiene un padre y puede tener muchos hijos, es decir que los datos de entrada pueden legar de un solo nodo padre, pero los datos de salida pueden distribuirse a varios nodos hijos simultáneamente, creando un sistema de jerarquías en el que los datos de salida de un nodo dependeran de los datos de entrada emitidos por su nodo padre.
Internamente cada nodo en Maya postura atributos donde guarda todos los datos de ingreso. Luego, los datos son procesados en una función de cómputo la cual retorna el o los datos de salida. Una muestra del funcionamiento de un nodo sería el cálculo del volumen de una esfera, en el cual el nodo aceptaría un dato numérico como entrada representando el radio de la esfera. Este nodo solo podría aceptar datos de tipo numérico, sean enteros o decimales ya que en la función de cómputo se aplicaría una fórmula matematica. Finalmente el nodo emitiría un dato numérico de salida el cuál sería el volumen final de la esfera. Este dato de salida podría ser utilizado por cualquier otro nodo que acepte datos numéricos, por ejemplo, un nodo que realizaría una simulación de un fluido dentro de la esfera conociendo su volumen.
La ventaja de este sistema de nodos es su gran flexibilidad ya qué una serie de nodos podría ser organizada de muchas maneras para obtener distintos resultados. Por lo cual es muy común que un nodo desarrollado para una tarea específica pueda ser usado para una función totalmente diferente a su propósito original.