ProSequencer 2.0 Houdini

Get in on bitbucket

A first class sequencer for Houdini 16.5 and up. It provides you with a very comfortable shot based workflow right in Houdini. Set up your cameras, make an edit and preview or render the tracks with a few clicks. It allow you to be more creative, save a lot of time and avoids mistakes. At hearth it’s a camera sequencer that manages everything related to it’s shots, besides that it can also be used as an very advanced dope sheet to adjust (re)timing on anythings, trigger events, etc.

ProSequencer 2.0 is available for free and is written in Python and well documented.


1) Put received file in: C:/Users/<username>/Documents/houdini/<version>/python_panels

2) Open the “Python Panel Editor” from the “Windows” menu

3) To verify it’s there select “ProSequencer” from the pulldown button right at the top of the “interfaces” tab. This is also were you can tweak the source if you ever need to.

4) Go to the “Pane Tab Menu”-tab and move the “ProSequencer” from the left into the right side using the arrow buttons.

5) Press “Apply” and you should now be able to open PS pane tab.

6) Enjoy!



Create a simple camera sequencer and learn the basics along the way:

1) Create a ProSequencer panel.  ( ‘+’ -> ‘new panetab type’ -> ‘ProSequencer’ )

2) create a pighead and few cameras, all with a different view

3) drag the cams into the panel, they should appear as tracks and a ‘/obj/shots’ node is created in the network view.

4) double click on an empty part in the panel and it will take you to the sequencerNode in the network view.

5) learn about the SequencerNode

6) in the sequencerNode’s parms enable the ‘Use for viewport camera switching’

7) make sure the viewport is set to any of the used cameras

8) Learn how to work with tracks and create an edit

9) when scrubbing, or on playback, the viewport should switch between cams.

10) double click on a track and it takes you to the trackNode in the network view

11) learn about the TrackNode

12) Read the rest of the this page to get the most out of it.

And while the main use of ProSequencer is to provide a proper shot based workflow, it can also be used for alot of other things. For example to  adjust timings or to trigger events. You can hook up a timewarp and timeshift node to the track’s in- and outpoints or link the inpoint to a ‘create’ frame of a simulation object, use the inpoint and duration to control the birth and lifespan of a particle system, etc.

Using the ProSequencer Panel

The Sequencer panel is where you manipulate the tracks. The panel can be seen as a visual aid to manage and setup all of the nodes in the sequencer network. This network works autonomously and does not require the sequence panel to be present, or even for ProSequencer to be installed. Behind the scenes it’s all automatically setup using native Houdini nodes and simple expressions.

ProSequencer panel actions

  • Use the navigation bar on top to move around on the timeline
  • ‘home’ button matches the navigation bar to how Houdini’s timebar is set.
  • Doubleclick on empty part of the panel to select and go to Sequence’s ‘Switch’ node in the network view.
  • Use context menu to quickly load or switch between available sequences if any.

You can Drag&Drop various items onto a ProSequencer panel

  • Drop a ‘Switch’ node to initialize or load existing sequence.
  • Drop a camera to add a track for it, this can be done with multiple cameras at once. If no sequence is loaded a new one will be created automatically in ‘/obj/shots’
  • Drop a ‘Switcher’ node to hook it up to the current sequence.

Working with tracks

To adjust a track’s timing simply drag the in/outpoint handles. You can also grab the middle part of a track to move it whole.

You can assign cameras, ROPs, takes and/or audio files to a track which can then be used to perform various actions and automations.

There are a few keyboard/mouse combinations that trigger different behaviors:

  • Shift-Drag: Use snapping
  • Ctrl-LMB: (De)select multiple tracks
  • Alt-LMB-drag up/down:  re-order the tracks
  • Doubleclick-LMB: Select and go to trackNode in network view
  • Ctrl-Doubleclick-LMB: Set viewport to track’s camera
  • Alt-Doubleclick-LMB: Select and go to camera node in network view
  • MMB to force switch to clicked track when sequencer is in manual mode. (see ‘SequencerNode’)
  • Use context menu for various actions related to management, rendering and previews.

You can also Drag&Drop various item on a track:

  • Drop a camera to set the track’s camera parm. When a camera has 2 or more keyframes the track’s range will automatically be set between the first and last keyframe.
  • Drop ‘ROP'(s) to set the track’s ‘ROP'(s) parm
  • Drop a ‘Deadline’ Node to set the track’s Deadline parm
  • Drop a ‘TimeWarp’ or ‘TimeShift’ node to dynamically like it to the track’s range.

Track’s context menu:

  • ‘Assign current Take to this’ assigns the current take to the track, setting the ‘take’ parm on the trackNode
  • ‘Assign Main Take to this’ removes any takes from the track so it defaults to the main take.
  • ‘Render ROP(s)’ will set each ROP from the trackNode’s ‘ROP(s)’ parm to the track’s data (cam, path, start/end, etc) and renders them one after the other.
  • ‘Just prepare’  will set each ROP from the trackNode’s ‘ROP(s)’ parm to the track’s data so you can review these before rendering.
  • ‘Submit selected to Deadline’ will submit selected tracks to deadline using the deadline node set in the track’s ‘deadline’ parm.
  • ‘Explore output folder(s)’ will open the folders where the rendered files will be placed.
  • ‘Flipbook this (Mplay)’ creates a preview of the current track in Mplay
  • ‘Flipbook selected (File sequence)’  will flipbook to a file sequence using the selected tracks ‘preview output’ path and the camera’s resolution.
  • ‘Flipbook selected (MP4)’  will perform the above file sequence output and then uses ffmpeg to bake out an mp4 in the same folder as the image sequence.
  • ‘Explore output folder(s)’ will open the folders where the preview files will be placed.
  • ‘Test Tokens’ will do a printout of all parsed paths so you can review all outputs before rendering/previewing. See ‘TrackNode’ for details about how to use tokens


This how sequences look in the network view, they are basically switches with nulls.

TrackNode (null)

A TrackNode is simply a native null node with added parameters to hold all the track’s data. Once you connect a new null node to an active SequencerNode it will all be setup automatically. So to add a new track to a sequence just create a null node and connect it to the SequencerNode’s input and you should see it change it’s icon and gain extra parameters. It will also show up in the panel as a new track.


  • Use TrackNode’s Bypass flag to enable/disable the track in the sequencer
  • Use TrackNode’s color to set the color of the track in the sequencer

parm block: Track Options:

  • ‘Camera’ parm holds the camera for this track
  • ‘ROP(s)’ parm holds one or more ROPs that can be used to render this track
  • ‘Deadline’ parm holds the deadline submission node that can be used for this track
  • ‘Render Output’ and ‘Flipbook Output’ are tokenized paths (see below) used by the render and Flipbook functions.
  • ‘Meta Data’ and ‘Version’ are simply values you can use in the tokenized paths for easy housekeeping
  • ‘Take’ is the take that will be used when this track is active. You can use this to, for example, show/hide different objects in different shots.
  • ‘Audio’ is the audio track to play when this track is active.
  • ‘sync to input’ will put the start of the audio in the inpoint of  the track. On the SequencerNode there is a toggle to disable audio switching.

Parm block: Track Input Data

  • ‘Sequencer Time’ is the internal time used to drive the track. It holds an expression that gets the time from the SequencerNode it’s connected to.  It’s also a void your warranty area.
  • ‘Range’ are the in- and outpoints of the track.

Parm block: Track Output Data

  • For convenience you can reference these different values derived from the time and in/outpoints.
  • The ‘completed’ value is run through the ramp and normally will progress from 0 to 1 for when times moves between the inpoint and  the outpoint.  With the ramp you can shape this to, for example, fade something in and out at the start and end of the track:


  • {camera} : name of used camera
  • {meta} : value of track’s ‘meta’ parm
  • {version} : value of track’s ‘version’ parm
  • {take} : name of used take for this track
  • {sequence} : name of sequence node
  • {track} : name of track node
  • {rop} : name of currently rendering ROP (not available in ‘Flipbook output’)

Each of the tokens can be internally prefixed with a single character, for example {_version}, that will only be used if the token value is not empty. This will avoid double separators when tokens are empty. Just make sure you end up with proper paths and filenames.

You can set default values for both paths in the hou.env file. (escape $ signs like this <$>)  For example


SequencerNode (switch)

A SequencerNode is a modified switch node and is central hub of a sequence. To create a new SequencerNode just drag&drop a switch node into the panel and it will be modified automatically, any pre connected null nodes will be converted to tracks as well automatically.


  • Use the bypass flag to disable any switching and defaults to the first input.
  • Use the Template flag to disable automatic switching and put it all in ‘manual mode’.  MMB on a track will set the ‘Manual input’ parm to the clicked track. This is useful when editing a shot and you want to lock the sequencer to it’s respective track.


  • ‘Select input’ has an expression that sets the switch to the input of the dominant track. Void your warranty area.
  • ‘Manual input’ is used when the sequencer is in ‘manual mode’. You can set  the wanted input number here or use the MMB to click on a track and it will set the switch to the clicked track’s input number.
  • The ‘Sequencer Time’ is what is used to drive the sequencer’s internal time. It typically set to ‘$F’  but can be anything. For example you can set it to ‘$F*2’ if you want the sequence time to be twice as fast at the global time.
  • With ‘Use for viewport camera switching’ toggle enabled and when the viewport is set to any camera used in the current sequence, it will switch the viewport the the dominant track’s camera. This has the advantage over the native ‘switcher’ node that you can still manipulate the camera in the viewport, which is not possible when viewing though a native ‘switcher’ node. No switching happens when the viewport is set to  ‘persp’ view or a camera that is not used in the sequence.
  • ‘Disable audio switching’ does what is says, it will not automatically load a tracks’s audio file into Houdini’s playbar.
  • The order of connected inputs determines the order of the tracks in the sequencer, first input being the top one. You can manipulate them here or alt-drag the tracks up/down in the panel.

WordPress Video Lightbox