top of page

Houdini UV Tool

A Houdini tool that automates common asset prep tasks: importing, cleanup, optional remeshing, UV generation, and export. Built to save time, reduce errors, and keep assets consistent across a team.

Houdini UV Tool

This tool came out of a pretty common frustration: cleaning up and exporting assets in Houdini always took longer than it should. There were too many manual steps - deleting collision meshes, fixing UVs, remeshing - and every artist had a slightly different way of doing it. I wanted to standardize the process, speed it up, and make it easy to repeat across a bunch of assets.


1. Import & Cleanup

The first thing the tool does is bring in an FBX or OBJ and strip out anything we don’t need - mostly UCX collision meshes and leftover UV attributes. I also clean up unused points and sanitize the node names so things don’t break later. It’s a small thing, but it avoids a lot of weird errors down the line.


2. Remeshing (if needed)

Not every asset needs to be remeshed, so I made it optional. When it is turned on, the tool uses a poly reduce setup with adaptive sizing to simplify the geometry while keeping the shape intact. I built this to help with things like LODs or prepping dense scans for UVs.


3. UV Generation

The UV process uses curvature and edge detection to decide where seams should go. It flattens, unwraps, and lays out the islands with enough padding and stacking options to make the results clean and consistent. I tried a few different methods here, but this combo gave the most reliable output without needing manual tweaks.


4. Caching

Before exporting, I cache out the processed mesh and UVs to disk. This step makes things easier to debug and ensures that if anything goes wrong, we’re not regenerating everything from scratch.


5. Export

The final export goes to FBX using a ROP node, and the naming is all handled automatically based on the original file. The idea here was to remove all the extra steps that usually happen in the network view - set the output path once and it handles the rest.


6. UI & Logging

The interface is built with PySide2. I kept it simple: import path, export path, a few checkboxes. There’s also a logging system that writes out to a logs/ folder so if something fails, there’s a trail. That’s saved me more than once when debugging or trying to support someone else using the tool.


The main goal was to make a repeatable, clean process that could slot into a real pipeline. I wasn’t just trying to make something “faster” - I wanted it to be stable, understandable, and flexible enough that someone else could use it without me in the room.

Built with:

Python 3.11, Houdini hou module, PySide2, Qt Designer

bottom of page