Houdini 19.5 Nodes TOP nodes

ShotGrid Server Begin TOP node

Starts a persistent ShotGrid command server

On this page
Since 18.0

This node can be used to create ShotGrid Server work items. Session work items in this node are associated with a long running ShotGrid process.


The ShotGrid API is not provided with Houdini and must be installed manually.

To install the ShotGrid API, perform the following steps:

In order to authenticate to ShotGrid, one of the following three methods are required.


As Shotgun is migrating to the new name ShotGrid, the existing $PDG_SHOTGUN_* environment variables and shotgun.json have been deprecated and will be removed in a future release. Please migrate to their ShotGrid equivalents, $PDG_SHOTGRID_* and shotgrid.json respectively.

The order of precedence for authentication is $PDG_SHOTGRID_LOGIN, then $PDG_SHOTGRID_SCRIPT_NAME, and then to try and use shotgrid.json. This is so that an override can be specified in the environment.

Using shotgrid.json is recommended as exposing credentials in the environment can be a security risk.

See command servers for additional details on the use of command chains.

TOP Attributes



This attribute is inherited from the Feedback Begin node.

The loop iteration number, within the set of work items associated with the loop. This attribute can be an array of values when using nested feedback loops, since the iteration number at each level is preserved. The loop iteration value for the outer most loop is stored in loopiter[0], the next level is stored in loopiter[1], and so on.



This attribute is inherited from the Feedback Begin node.

Tracks which loop the work item is associated with. This attribute is relevant when generating multiple independent loops in the same feedback begin node, for example by driving the feedback begin node with a Wedge node.



This attribute is inherited from the Feedback Begin node.

The total number of iterations in the loop.


Generate When

Determines when this node will generate work items. You should generally leave this set to “Automatic” unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.

All Upstream Items are Generated

This node will generate work items once all of the input nodes have generated their work items.

All Upstream Items are Cooked

This node will generate work items once all of the input nodes have cooked their work items.

Each Upstream Item is Cooked

This node will generate work items each time a work item in an input node is cooked.


The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.

Cook Loops Sequentially

When this toggle is enabled, loops created by this node cook to completion one at a time. Otherwise, when this toggle is off, independent loops are able to cook in parallel.

Session Count from Upstream Items

When this toggle is enabled, the node will create a single server work item and a session with the server for each upstream work item. Otherwise, a server item will be created for each upstream work item.

Number of Sessions

The number of sessions to create with the server. Each session work item will cook in serial with other sessions using the same server. The chain of work items starting from this session item down to the Command Server End node will cook to completion before starting the next session.

Server Port

The TCP port number the server should bind to (when Connect to existing server if off), or the port to use to connect to an existing server (when Connect to existing server is on). The default value 0 tells the system to dynamically choose an unused port, which is usually what you want. If you want to keep the ports in a certain range (and can guarantee the port numbers will be available), you can use an expression here such as 9000 + @pdg_index.

Connect to Existing Server

When this toggle is enabled, the work item will connect to an existing server rather than spawning a new one.

Server Address

The existing server address, when Connect to Existing Server is enabled.

Load Timeout

The timeout used when performing an initial verification that the shared server instance can be reached. When this timeout passes without a successful communication, the work item for that server will be marked as failed

ShotGrid URL

The URL to the ShotGrid instance to communicate with. The default value is $PDG_SHOTGRID_URL, which expects that the environment variable will be defined when the work item executes. However this can be set to an absolute path if it’s known.

HTTP Proxy

The URL of a proxy server to communicate with the ShotGrid instance.

Custom CA Certs

A path to a custom list of SSL certificate authorities to use while communicating with the ShotGrid instance.

Feedback Attributes

When on, the specified attributes are copied from the end of each iteration onto the corresponding work item at the beginning of the next iteration. This occurs immediately before the starting work item for the next iteration cooks.


The attribute(s) to feedback can be specified as a space-separated list or by using the attribute pattern syntax. For more information on how to write attribute patterns, see Attribute Pattern Syntax.

Feedback Output Files

When on, the output files from each iteration are copied onto the corresponding work item at the beginning of the next loop iteration. The files are added as outputs of that work item, which makes them available as inputs to work items inside the loop.

Loop Attribute Names

These parameters can be used to customize the names of the work item attributes created by this node.


The name of the attribute that stores the work item’s iteration number.

Number of Iterations

The name of the attribute that stores the total iteration count.

Loop Number

The name of the attribute that stores the loop number.

See also

TOP nodes