P4Houdini

The P4Houdini plugin is designed to integrate Houdini and Perforce, facilitating seamless version control directly within Houdini's interface. Key features include automatic and manual file management, dependency scanning, and convenient tools for file operations like adding, checking out, and submitting changelists. The plugin also includes a Python API for scripting additional actions, enhancing workflow efficiency for both individuals and studios.

Previously this was a paid plugin, but it has now become freely available through SideFXLabs to everyone since SideFX acquired it late May 2024.

Installing the P4Houdini Plugin

Note

The P4Houdini plugin has been built to work out of the box with SideFXLabs as of Houdini 20.5.304! Older versions may also work, but will require you to manually install the p4python package into your system environment yourself.


To install the plugin for the first time, follow these steps:

  1. Download & Install SideFXLabs 20.5.304 or newer.
  2. Extract the P4Houdini.zip found in $SIDEFXLABS/optional/P4Houdini/ to a directory of your choosing.
  3. Copy the P4Houdini.json file found in the extracted zip file, and paste it in the $HOUDINI_USER_PREF_DIR/packages/ folder.
  4. Edit the P4Houdini.json file you just pasted, and modify the $P4HOUDINI path found inside. Set the path to where you extracted the P4Houdini.zip to in step 2.
  5. Launch Houdini and add the P4Houdini shelf to your shelf set!


Connecting the Plugin to your Perforce Depot

Once you have successfully installed the plugin you can configure a workspace to use with the plugin.

To do so, you will need some information from the Perforce Depot you would like to connect with. You will need the following information:

  • P4PORT - This is the server address you want to connect to. Typically this is something like ssl:companyname.perforce.assemble.com:1667
  • P4USER - This is the username you log into perforce with.

Once you have that information, you should first authenticate with Perforce yourself. Generally people use P4V for this, but you can also do it command line if you prefer to do so. The reason you have to log in first is because the plugin does not handle logging in for you. It picks up the P4tickets, which you can think of as cached authentication so the server knows you are supposed to have access.

Once you have done the above, you can set up the Houdini Workspace!

  1. Launch Houdini and open the P4Houdini shelf.
  2. Click the Set Workspace button, and fill out the Server Address and User field. After that you can press the button next to the Workspace field, which will then automatically list all available workspaces. Pick one (or type manually).
  3. Press Apply.
  4. Click the Debug Config button on the Shelf to verify the connection is as expected!




Features

Below you can find some of the feature highlights the P4Houdini plugin offers you.

P4Houdini Shelf

The P4Houdini shelf has a variety of shelf tools that can help you work a lot more efficient! It has a convenient tools for installing the plugin, debugging your connection, and manual buttons for many of the P4Houdini functionality shown below.

Add and Check Out Files

Add or Check out files straight from within Houdini. The plugin has support for automatic prompting for add or checkout whenever you hit save on a HIP or HDA. This prevents any painful permission errors, and also functions as a super useful reminder to mark your new files for add!

You can also manually mark any file for add or checkout using the shelf tools, RMB Context menu for parms and HDAs.

If another user has a file checked out already, the plugin will notify you. You can then decide to either check out the file anyways, or simply make it writeable.

Submitting Changelists

Submit (partial) changelists from the Houdini UI. Convenient icons will show you what kind of action will be done with each file during submit. Things like add, remove, checkout. It will also tell you if another user has a file checked out.

Before submitting, remember to make some last minute edits to your changelist description!

Scanning Dependencies

The plugin also ships with a shelf tool that will scan your hip file for any nodes (including custom tools you create!) which write files to disk. This is useful if you have files not yet tracked by perforce being used in Houdini. You know how painful it is for a scene to throw node errors mid-cook because a file is locked!

It understands $F expressions as well!

Reverting

Did you make some mistakes in a HIP or HDA and want to go back a revision? The P4Houdini plugin has both a shelf tool as well as RMB Context menu options for reverting files. After reverting the plugin will automatically load the changed files for your convenience.

Context Menus

String Parameters and Nodes also have a RMB P4Houdini Context Menu with several options. Convenient to quickly manage files! For example to check out an HDA or File.

Python API

If you want to for example manually script some actions the plugin should do for you, you can simply use many of the public methods the plugin ships with. This is convenient if you for example want to check out a file pre-frame, or add a file post-frame.


CREATED BY

PAUL AMBROSIUSSEN

Paul Ambrosiussen is currently a Technical Artist at Bismuth Consultancy. He was the Lead of the Labs initiative at SideFX before that. Paul finished his BASc in International Game Architecture and Design at NHTV University of Applied Sciences in Breda. Paul enjoys writing tools to support effective art-pipelines, and maintaining tool / workflow quality for the artists he is assisting. His goal is to help others create amazing things in a better, faster and more flexible way. He creates tutorials, gives live lectures, attends events, and presents custom workshops to customers.

More from Paul Ambrosiussen