The project root, done right

Houdini $JOB Folder Structure Guide

The $JOB variable is the backbone of a portable Houdini project. Here is what it is, the standard folder tree it expects, and how to keep every project consistent so caches, renders and HDAs always resolve.

In Houdini, $JOB is the environment variable that points at your project root. When paths are anchored to $JOB instead of a local drive, the same .hip opens and resolves on any machine that sets it. Get the folder structure right and everything downstream - caches, renders, textures, HDAs - stays portable.

What $JOB actually is

Houdini reads $JOB (and related variables like $HIP, the folder the current scene lives in) to resolve relative paths. A File Cache SOP that writes to $JOB/geo/, a texture referenced from $JOB/tex/, or a render sent to $JOB/render/ will work for any artist who has $JOB set to the same project - and break for anyone who does not. Anchoring paths to $JOB instead of C:/Users/you/Desktop is the single biggest thing that makes a Houdini project shareable.

A standard $JOB folder tree

PROJECT/            <- $JOB points here
  hip/              scene files (.hip, .hipnc)
  geo/              cached geometry (.bgeo.sc, .vdb)
  sim/              simulation caches (flip, pyro, rbd)
  render/           rendered frames and AOVs
  tex/              textures and source maps
  comp/             comp output and COP work
  abc/              Alembic caches and exchange
  otls/             Houdini Digital Assets (.hda / .otl)
  scripts/          Python, shelf tools, pre/post scripts
  desk/             desktop layouts and workspace
  audio/            audio for animation and sim timing

The exact names vary between studios, but the principle does not: source, working files, caches and output each get a home, and nothing lives on a local desktop. SideFX's default project layout uses this same shape, which is why sticking close to it keeps you compatible with defaults and with other artists' expectations.

What each folder is for

Validate a project against the structure

A convention only helps if projects actually follow it. Hive scans a Houdini project folder in your browser and flags where it drifts - caches written outside geo or sim, textures on a local drive, HDAs missing from otls, scenes scattered outside hip. Nothing is uploaded; the scan runs locally. If you just want to spin up a clean tree, the free Houdini VEX Lab includes a $JOB project-structure generator, and the folder structure template here walks through it.

Frequently asked questions

What is $JOB in Houdini?

$JOB is an environment variable that points at your project root. Anchoring paths to $JOB instead of a local drive means the same .hip resolves caches, textures and renders on any machine set up for the project.

Is there one correct Houdini folder structure?

No single standard fits every studio, but the geo / sim / render / tex / comp / hip / otls pattern above follows SideFX defaults and is a clean starting point you can adapt.

Can Hive check my $JOB structure?

Yes. Hive scans a project folder in your browser and flags files that landed outside the expected folders, without uploading anything.

Start your free trial