Houdini: Installation
Requirements
- Houdini 19.5 / 20.x / 21.x / 22.x (Windows / macOS / Linux builds SideFX supports for that version)
- Launch your Houdini version at least once before installing, so its prefs folder exists (for example
Documents/houdini21.0/) - A permanent folder for the unzipped package (not a temp Downloads extract you will delete)
- Python 3 on PATH for
install.bat/install.ps1(Windows prefers thepy -3launcher; the Microsoft Storepythonstub alone is not enough). If you have no system Python, open Houdini Command Line Tools and run:hython scripts/install_houdini_package.py
What you download
From Download or Account → Downloads you get a ZIP such as UAL-Houdini-x.y.z.zip.
Inside you should see at least:
install.bat/install.ps1(Windows helpers)scripts/install_houdini_package.pypackage/,python/,toolbar/,python_panels/README.md
Houdini Pro seats unlock Fab / Megascans and related Pro features after you Connect with your UAL API key (see First run).
Choose an install method
| Method | When to use |
|---|---|
A — install.bat (recommended) | Most artists on Windows |
B — Manual packages/ JSON | Installer cannot find prefs, studio pipeline, or you prefer SideFX packages |
C — Manual houdini.env | Older studio setups that still manage tools only via houdini.env |
Use only one method. Do not set UAL in both a packages/AssetLibrary.json and houdini.env at the same time — conflicting ASSETLIB / HOUDINI_PATH values are a common “panel missing” failure.
What every method must achieve:
ASSETLIB= absolute path to your unzipped UAL folderPYTHONPATHincludes$ASSETLIB/pythonHOUDINI_PATHincludes$ASSETLIB(shelf, Python panel, viewer states)
A — Install with install.bat (recommended)
- Download the Houdini ZIP from Download
- Unzip it to a stable path you will keep (example:
D:/Tools/UAL-Houdini/) - Fully quit Houdini if it is open
- Double-click
install.bat
(or runpython scripts/install_houdini_package.py/py -3 scripts/install_houdini_package.py) - The installer writes
AssetLibrary.jsoninto each detected Houdini prefs packages folder and pointsASSETLIBat your unzipped folder - Start Houdini again (a full restart — not only a new scene)
- Open the panel:
- Shelf tab Asset Library → Open Asset Library, or
- Windows → Universal Asset Library
Verify
In Houdini Windows → Python Shell:
import os
print(os.environ.get("ASSETLIB"))
You should see the path to your unzipped UAL folder. If it prints None, the package is not loaded — try Method B or see Troubleshooting.
B — Manual install via packages folder (SideFX packages)
This is the modern SideFX-supported way (same end state as install.bat).
1. Find your prefs folder
import hou
print(hou.getenv("HOUDINI_USER_PREF_DIR"))
Typical Windows example:
C:/Users/<you>/Documents/houdini21.0
(OneDrive redirects are fine — use the path Houdini prints.)
2. Create the packages folder (plural)
Houdini only loads JSON packages from:
<HOUDINI_USER_PREF_DIR>/packages/
| Path | Result |
|---|---|
…/houdini21.0/packages/AssetLibrary.json | Loaded |
…/houdini21.0/package/AssetLibrary.json | Ignored (missing s) |
3. Create or edit AssetLibrary.json
Copy package/AssetLibrary.json from the ZIP into that packages folder, or create a new file named AssetLibrary.json with:
{
"enable": true,
"env": [
{
"ASSETLIB": "D:/Tools/UAL-Houdini"
},
{
"PYTHONPATH": {
"value": "$ASSETLIB/python",
"method": "prepend"
}
}
],
"hpath": [
"$ASSETLIB"
]
}
Replace D:/Tools/UAL-Houdini with your unzipped folder:
- Use forward slashes (
/) - No trailing slash required
- Paths with spaces are OK when quoted only if your JSON string is valid (the path itself needs no quotes inside the JSON string beyond normal JSON quoting)
Do not leave the ZIP template placeholder (REPLACE_WITH_…) — that will not load UAL.
4. Restart and verify
Fully quit Houdini → start again → run the ASSETLIB Python check above → open Asset Library shelf / Windows → Universal Asset Library.
C — Manual install via houdini.env (legacy)
Use this only if your studio standard is still houdini.env and you are not using Method A or B for UAL.
1. Open houdini.env
File location:
<HOUDINI_USER_PREF_DIR>/houdini.env
Same prefs folder as in Method B (Python Shell HOUDINI_USER_PREF_DIR).
If the file does not exist, create it as a plain text file named houdini.env.
2. Add these lines
Replace the path with your unzipped UAL root (forward slashes):
ASSETLIB = D:/Tools/UAL-Houdini
PYTHONPATH = $ASSETLIB/python;&
HOUDINI_PATH = $ASSETLIB;&
Notes:
- The
;&keeps Houdini’s default path entries (do not delete existingHOUDINI_PATH/PYTHONPATHlines blindly — prepend UAL or merge carefully) - If
HOUDINI_PATHorPYTHONPATHalready exist inhoudini.env, put$ASSETLIB/$ASSETLIB/pythonfirst, then;and the previous value, ending with;&as SideFX expects - Save as UTF-8 plain text (not a Word document)
3. Restart and verify
Fully quit Houdini → start again → confirm ASSETLIB in Python Shell → open the panel from the shelf or Windows menu.
houdini.env vs packages
packages/AssetLibrary.json | houdini.env | |
|---|---|---|
| SideFX recommendation | Preferred for tools / plugins | Legacy; still works |
| Studio-friendly | Easy one file per tool | One shared file many tools edit |
| Risk | Low if only UAL owns AssetLibrary.json | Higher — easy to break other tools’ paths |
| UAL support | Same as installer | Supported for install; prefer packages when possible |
After install (all methods)
- Open the panel — the Setup Wizard should appear on first use (or Actions → Setup Wizard…)
- Choose a library folder for permanent assets (
Online Downloads/lives under this root) - Keep cache separate from the library (default style:
UAL CACHE HOUDINIon the same drive — not your library folder, not OneDrive/prefs) - Pick default import target (SOP vs LOP / Stage) if asked
- Optional: enable online sources; for Pro features paste your UAL API key from Account → Profile into Settings → Connect
- Fab / Megascans also need Epic sign-in in Settings → Online after you are entitled
Update / reinstall
- Download the newer ZIP
- Unzip over your existing UAL folder or into a new folder
- Re-run Method A (
install.bat), or editASSETLIBagain in Method B/C if the folder moved - Restart Houdini
Or use panel Actions → Check for Updates… when your account Updates flow is configured.
To remove package registration only (Method A/B): run uninstall.bat, or delete packages/AssetLibrary.json. For Method C, remove the three UAL lines from houdini.env. The unzipped files stay until you delete that folder.