Houdini 20.5 Basics

Environment variables

On this page

Overview

Houdini uses environment variables for various purposes, such as defining paths (sets of directories in which Houdini looks for certain types of files), commonly used directories (such as $HFS, the install location of Houdini) and for obscure or highly technical settings.

See the list of environment variables in Houdini.

Browsing environment variables

The hconfig utility displays the meaning or current value of all Houdini-related environment variables.

For hconfig to be available on the command line, you should set up a Houdini shell environment.

Windows

Choose Start ▸ All Programs ▸ Side Effects Software ▸ Houdini X.X.XXX ▸ Command Line Tools.

Mac

Open /Applications/Houdini/HoudiniX.X.XXX/Utilities and double-click Houdini Terminal.

Linux

cd to the Houdini install directory and type source houdini_setup or source houdini_setup.bash depending on your shell.

To...Do this

Get help on using hconfig

hconfig -h
hconfig
hconfig -a
hconfig -h VAR_NAME

For example:

hconfig -h HSCRIPT_NO_HISTORY
hconfig -H

Setting environment variables

Houdini picks up the system’s environment variables (such as $HOME) as well as the environment variables of the shell from which it was started, on platforms that support those concepts.

Each user’s home Houdini directory can contain a houdini.env file you can use to specify environment variables. You may also use the package mechanism for setting environment variables.

Windows

%HOME%/houdiniX.Y/houdini.env

Mac

~/Library/Preferences/houdini/X.Y/houdini.env

Linux

~/houdiniX.Y/houdini.env

(If the houdini.env file doesn’t already exist, Houdini creates a template houdini.env file with helpful comments when you run Houdini.)

The file should contain one environment variable definition per line. For example:

# Assign BAR to FOO
FOO = BAR

# Spaces are optional
FOO=BAR

# Quote values that contain spaces
FOO = "BAR BAZ"

# Environment variables on the right side
# are expanded
FOO = $HOME/some/path

# Escape $ to avoid expansion of variables
FOO = \$HOME/some/path

# To unset a default...
FOO =

Mac

On the Mac, when you launch Houdini from the dock or by double-clicking its icon, it inherits a very minimal environment, and it’s difficult to add variables to it. Use the houdini.env file (see above) to configure environment variables on the Mac.

(If you start Houdini by typing houdini in a Houdini Shell.terminal window, Houdini will inherit the shell’s environment.)

Windows

On Windows, right-click My Computer and choose Properties, click the Advanced tab, then click Environment Variables.

You can also use the set ‹name›=‹value command in the command shell, for example set UT_INTERRUPT_THRESH=50 sets the Interrupt Cook dialog delay to 5 seconds for any instance of Houdini subsequently started from that shell.

Linux

On Linux, the procedure for setting environment variables varies from shell to shell. Check your shell’s man page for details.

  • In bash use export ‹name›=‹value.

  • In csh and tcsh, use setenv ‹name› ‹value.

For example export UT_INTERRUPT_THRESH=50 sets the Interrupt Cook dialog delay to 5 seconds for any instance of Houdini subsequently started from that shell.

Special characters in path variables

@

Typically expands to the directories on the HOUDINI_PATH. So, if the HOUDINI_PATH is…

$HIP
$HFS/houdini
$HOME/houdiniX.Y

… then the value "@/vex" would expand to…

$HIP/vex
$HFS/houdini/vex
$HOME/houdiniX.Y/vex

=

Equivalent to $HIP: the path of the directory containing the current scene file.

&

The “default” path for the given variable. For example, to add a directory "/mypath" to the default path for a variable, use "/mypath;&;". This will search "/mypath" path first, then the directories on the default path.

^

For VEX-related variables, expands to the shader type (e.g. Surface, Displacement, Sop, etc.). For example, if HOUDINI_VEX_PATH is "$HOME/vex/^", when loading Surface shaders it will expand to "$HOME/vex/Surface".

Basics

Getting started

Next steps

Customization

Guru-level