Houdini 20.0 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, $PDG_SHOTGRID_SESSION_TOKEN, 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.


Work Item Generation

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.

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.

Copy Inputs For

Determines how input files are copied onto loop items. By default, upstream files are copied onto all input files. However, it is also possible to only copy input files onto the first iteration or none of the loop iterations.

No Iterations

Upstream input files are not copied to the outputs of any loop iteration items.

First Iteration

Upstream input files are copied to the output file list for only the first loop iteration

All Iterations

Upstream input files are copied to the output file list of all iterations.

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.

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.

Server Configuration

Server Type

Determines whether this node should create a block that uses Services or a Shared Server. Note that Shared Servers are deprecated in Houdini 20.0.

Service Name

When Server Type is set to Service, this parameter determines the name of the service to use for work items in the block

Reset Service

Determines whether or not service clients should be reset before executing work items. If this node is a service block, the reset operation is only performed once per block loop. Otherwise, the reset operation occurs for each work item in this node.


The service client is used as-is. This means that any imported modules, global variables, or scene state are preserved between work item cooks.

Reset Client

The service client is sent the “reset” command, which clears state but does not restart the service process.

Restart Client

The service client process is completely restarted before running a work item.

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.

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