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:
- Download & Install SideFXLabs 20.5.304 or newer.
- Extract the P4Houdini.zip found in $SIDEFXLABS/optional/P4Houdini/ to a directory of your choosing.
- Copy the P4Houdini.json file found in the extracted zip file, and paste it in the $HOUDINI_USER_PREF_DIR/packages/ folder.
- 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.
- 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!
- Launch Houdini and open the P4Houdini shelf.
- 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).
- Press Apply.
- 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!