The PROTO mechanism allows users to extend the set of nodes by adding their own nodes. Thus, users can build and reuse complex objects.
A PROTO defines a new node type in terms of built-in nodes or other PROTO nodes. The PROTO interface defines the fields for the PROTO. Once defined, PROTO nodes may be instantiated in the scene tree exactly like built-in nodes.
The tutorial entitled Your First PROTO provides a hands-on procedure to create your own PROTO node.