The Procedural USD Pipeline
Cargo 3.0 for Houdini is built natively for Solaris (LOPS) and standard OBJ workflows. By utilizing a USD-first approach, Cargo allows Houdini artists to bring in high-fidelity assets that are ready for Karma or any third-party Hydra delegate (like Redshift or Octane) without the need for manual shader conversion.
Section 1: Connection & Setup
Installing the Houdini Connector
The "Save First" Rule
Critical Step: You must Save your .hip file before sending your first asset.
Why: Cargo 3.0 uses the save location to establish relative paths for textures and USD references.
If the file is not saved, the "Send" command will fail or result in broken links.
The Process:
In Cargo: Go to the lower-left Connector icon.
Select Connect Software --> Houdini.
Select your version (e.g., 21.x).
Click Install Connector.
Activating the Tab in Houdini:
Open Houdini.
In any pane (typically the top-right or bottom-left), click the Plus (+) icon to add a new tab.
Navigate to New Tab Type > KitBash 3D Cargo.
The Cargo Importer interface will appear, confirming it is ready to receive assets.
Section 2: Plugin Settings & Preferences
Download Settings: Setting preferred texture resolution and file formats.
Advanced Options: Any specific checkboxes for [DCC Name] (e.g., "Use Nanite" for Unreal or "Use LOPs" for Houdini).
Watch Video: Getting Started with Houdini and Cargo 3.0 Integration
Section 3: Importing Assets
1-Click Import
The Handshake: Look at the bottom-left status bar in the Cargo app. The Chain Link icon next to Houdini should be Glowing Green.
Action: Select an asset in Cargo (e.g., "Barrels") --> Click Download --> Click Send.
Result: The asset will appear directly in your Houdini Asset Viewer and Network View.
Solaris Note: If you are working in a LOPs context, Cargo will automatically handle the USD layer integration for a seamless Solaris workflow.
The Asset Gallery (Partnered with SideFX)
Cargo 3.0 assets are imported directly into Houdini's native Asset Gallery. This provides high-resolution thumbnails and a streamlined "drag-and-drop" staging workflow.
How to Stage Assets:
Context: Ensure you are working in the Stage (/stage) context (Solaris/LOPs).
The Catalog: Open the Asset Gallery tab. You will see your imported Cargo assets with their native thumbnails.
Placement: Drag the asset directly from the Gallery into the 3D Viewport or the Network View.
Note: This creates a Reference LOP automatically, keeping the scene memory-efficient.
Importing & Linking Materials
Materials in Houdini are handled through a dedicated catalog system designed for the Material Linker.
The Material Workflow:
Action: Select a material in Cargo (e.g., "Carbon 10") --> Download --> Send.
Processing: Houdini will generate a thumbnail and add it to the Cargo Material Catalog.
Applying Materials:
Node Setup: Drop a Material Linker LOP into your stage network.
Assignment: In the Material Linker UI, locate the Material Catalog section.
Link: Drag your Cargo material onto the desired geometry path.
Compatibility: Materials are authored as USD-compliant shaders, ensuring they render correctly in Karma, Redshift, or any Hydra-supported engine.
Watch Video: Placing Assets and Importing Materials
Section 4: Understanding the File Structure (USD)
The "Save-First" Localization
Cargo 3.0 prioritizes a localized file structure in Houdini to ensure that your USD stages remain portable. When you import an asset (Model, Material, or Texture), Cargo automatically organizes them relative to your .hip file.
Requirement: You must Save your Houdini file before the first import.
The
KitBash3D_CargoFolder: Upon import, Cargo creates a new folder in your project directory namedKitBash3D_Cargo. This folder serves as the local repository for all assets used in that specific project.
Internal Folder Hierarchy
Within the KitBash3D_Cargo directory, assets are organized by Kit and Type:
Kit Folders: (e.g.,
Black_Market,Steel_District)Sub-Folders:
Models: Contains the
.usdgeometry files.Materials: Contains the shader definitions (MaterialX or USD Preview Surface).
Textures: Contains all associated image maps (Base Color, Normal, Roughness, etc.).
Houdini Assets: Cargo also generates the necessary
.hiplcor associated Houdini-specific files required to reconstruct the assets within Solaris.
Benefits of Localized Structure
Portability: Because all assets are copied into a folder sitting next to your
.hipfile, you can move the entire project folder to another drive or a render farm without breaking any file paths.Relative Paths: Cargo uses Houdini's
$HIPvariable to ensure that the USD layer references remain valid regardless of the absolute path of the project.Organization: You only see the assets you have actually used in that project, rather than your entire global library.
WATCH VIDEO: Understanding File Structure When Importing Assets
USD Manipulation & Parts Extraction
WATCH VIDEO: Transforming 3D Models in Houdini with Cargo
Extracting Specific Primitives
When you import a complex asset (like a "Barrel Set"), Cargo brings it into Houdini as a single USD reference node. To move individual parts without affecting the whole set:
Identify the Source: Select the node imported by Cargo. In the Parameter Interface, look at the File path—this is the
.usdfile containing all the individual models.Reference Specific Primitive:
Create a Reference LOP node and connect the Cargo node to the first input.
Set the Reference Primitive parameter to "Reference Specific Primitive."
Click the Selection Icon (tree view) next to the Primitive Path.
Navigate the hierarchy (e.g.,
/World/Barrels/Barrel_A) and select the specific item you want to extract.
Isolate: Now, only that specific barrel will pass through this node, allowing you to treat it as a unique object.
Transforming & Grounding Assets
Once an item is extracted, you often need to move it or "ground" it (align it to the floor).
The Match Size Node (The "Grounder"):
Append a Match Size LOP to your extracted primitive.
To put the object on the floor: Set Justify Y to "Min." * This aligns the absolute bottom of your model's bounding box to the origin ($Y=0$), ensuring your barrels aren't "floating" or "buried."
The Transform Node:
Append a Transform LOP.
You can now use the viewport handles or parameter sliders to translate, rotate, and scale your isolated asset independently.
Layout & Scene Assembly
The "Reference" Principle
Remember that in Solaris, you aren't duplicating geometry; you are creating references.
Efficiency: You can have 1,000 barrels in a scene, and Houdini will only "load" the geometry once, making your scene files tiny and your viewport incredibly fast.
Non-Destructive: If you decide to change the texture of the "Master" barrel in Cargo, every transformed reference in your Houdini scene will update automatically.
Material Workflow (Solaris & Karma)
The "Live Catalog" Import
When you "Send" a material from Cargo to Houdini, it doesn't just create nodes; it registers the material into your Houdini session’s USD stage.
In Cargo: Navigate to Material Kits, select your resolution, and click Download ⟶ Send.
In Houdini: Cargo will automatically generate the required MaterialX or USD Preview Surface networks behind the scenes.
Viewing Materials: Ensure your viewport renderer is set to Karma (top right of the viewport) to see the full PBR textures, reflections, and displacement.
Assigning Materials via Material Linker
The Material Linker LOP is the command center for texturing your scene. It provides a visual bridge between your imported Cargo materials and your geometry.
Setup:
Add a Material Linker node to your LOP network and set it as the display node.
The Material Linker UI will appear, showing your Material List (left) and your Geometry Tree (right).
Assignment:
Drag-and-Drop (UI): Simply drag a material from the left column onto the specific mesh or "primitive" in the geometry tree on the right.
Drag-and-Drop (Viewport): You can also drag materials directly from the Material Linker list onto objects in the 3D viewport.
Result: The assignment is recorded as a USD relationship, meaning it is non-destructive and highly efficient for large-scale scene assembly.
WATCH VIDEO: Quick Guide to Applying Materials in Houdini from Cargo
USD Manipulation & Layout
Rapid Material Iteration
Because the Material Linker maintains a list of all materials brought in from Cargo, you can perform "Look-Dev" by simply dragging new materials onto your meshes. The viewport will refresh automatically, allowing you to test different industrial floors, metals, or textures in seconds.
Environment Lighting (HDRIs)
The Karma/Solaris HDRI Workflow
In Houdini Solaris, lighting is managed through LOP nodes. Cargo 3.0 HDRIs are designed to plug directly into the Dome Light LOP for physically accurate reflections and global illumination.
Step 1: Node Setup
In your
/stagenetwork, create a Dome Light LOP.Connect the Dome Light to a Merge LOP or directly to your Render Settings/Scene Output.
Step 2: Importing from Cargo
In Cargo, navigate to the HDRI Kits (e.g., "Ultimate Skies").
Select an HDRI and choose your resolution (e.g., 4K EXR).
Click Download. Once the download is complete, click Copy Path.
Step 3: Linking the Texture
Select the Dome Light node in Houdini.
In the Texture tab of the Parameter Interface, find the Texture File field.
Paste the path (
Ctrl + V) directly into the field and hit Enter.
WATCH VIDEO: Integrating HDRIs from Cargo 3.0 into Houdini
Rapid Lighting Iteration
The "Copy Path" workflow allows for near-instant lighting "hot-swapping":
Download & Copy: Browse Cargo for different lighting moods (e.g., "Dusk," "High Noon," or "Overcast").
Paste & Update: Paste the new path into the Dome Light's Texture File parameter.
Real-Time Feedback: Set your viewport renderer to Karma. As you paste new paths or rotate the Dome Light node, Karma will provide real-time path-traced updates of the new lighting environment.
USD Manipulation & Layout (Lighting)
Transforming the Environment
Rotation: To change the direction of the sun or reflections, use a Transform LOP after the Dome Light, or simply use the built-in Rotate parameters on the Dome Light node itself.
Visibility: If you want the lighting contribution but don't want to see the sky in the background, toggle the Camera Visibility parameter on the Dome Light.
Texture Kits & Gobo Lighting
The Karma Gobo Workflow
In Houdini Solaris, Gobos are handled through the Light Filter Library. This allows you to apply a "mask" to any light source (Spotlight, Distant Light, etc.) to project patterns from Cargo’s Texture Kits.
Step 1: Node Configuration
In your
/stagenetwork, ensure you have a Spotlight LOP and your geometry (e.g., a Grid) connected to a Merge node.Add a Light Filter Library LOP and connect it below your Merge node.
Step 2: Creating the Filter
Dive inside the Light Filter Library node (
Double-clickorEnter).Create a Karma Light Filter Gobo node.
Step 3: Importing from Cargo
In Cargo, navigate to Texture Kits > Gobo Textures.
Select a high-contrast pattern (e.g., "Window" or "Plasma Flashlight").
Click Download, then click Copy Path.
Step 4: Linking & Assignment
In the Karma Light Filter Gobo parameters, paste the path (
Ctrl + V) into the Texture field and hit Enter.Jump back up to the
/stagelevel.On the Light Filter Library node, find the Assigned Lights parameter. Drag and drop your Spotlight LOP from the network editor directly into this field.
WATCH VIDEO: Getting Started with Gobos in Houdini and Cargo 3.0
Viewing & Iteration
Renderer Selection: To see the Gobo effect, you must set your viewport renderer to Karma. Standard Houdini GL will not display Light Filter projections.
Rapid Look-Dev: Once the setup is complete, you can cycle through different Gobos by simply copying new paths from Cargo and pasting them into the internal Gobo node. The Karma viewport will update in real-time.
USD Manipulation & Layout (Advanced Lighting)
Refining the Projection
Softness: Adjust the Radius or Angle of your Spotlight LOP. A smaller radius creates a sharper, more defined Gobo shadow; a larger radius softens the edges.
Intensity: Gobos physically block light. You may need to significantly increase the Intensity or Exposure of your Spotlight to compensate for the light lost through the texture mask.
Scale: Use the internal settings of the Karma Light Filter Gobo node to adjust the scale and orientation of the pattern if it appears stretched on your geometry.
Troubleshooting: What to Look For
I dragged the asset but can't see it
Cause: You might be in the OBJ context instead of the Stage context.
Fix: Ensure your network is set to
/stage. Cargo 3.0 assets are optimized for the Solaris USD workflow.
Thumbnails are missing in the Gallery
Cause: The "Send" command was interrupted or the thumbnail generation process hung.
Fix: Re-send the asset from Cargo. Ensure the KitBash 3D Cargo tab in Houdini is active.
Materials not appearing in Material Linker
Check: Look at the top section of the Material Linker UI. Ensure you have the Material Catalog view enabled. All Cargo materials are stored there rather than in a standard
/matnetwork by default.
"I can't see the individual parts in the tree view"
Fix: Ensure the Traversal mode on your import/reference node is set to "Gprims" or "Default." If it's set to "Assembly," it may hide the sub-components.
"The Match Size node is moving my whole scene!"
Cause: Match Size affects everything connected to its input.
Fix: Use the Primitives filter at the top of the Match Size node to specify exactly which path (e.g.,
/reference1) should be re-sized.
"My transforms aren't saving"
Note: Ensure you are working in a LOPs (Solaris) context. If you move things in SOPs and then switch to LOPs, the transforms might not carry over unless you use a SOP Import node to bring those changes into the USD stage.
Troubleshooting: Houdini Materials
I sent the material but I don't see it in the Material Linker
Fix: Ensure the Cargo import nodes are upstream (connected above) the Material Linker node. The Linker can only see materials that have been "introduced" to the stage earlier in the node graph.
The material looks gray or solid color in the viewport
Cause: You are likely using the "Houdini GL" renderer.
Fix: Switch the viewport renderer to Karma. Only Karma (and other USD-compliant renderers) can fully interpret the MaterialX/USD shaders Cargo provides.
The texture looks stretched on my Grid
Fix: Check the UVs of your geometry. For a standard Houdini Grid, ensure you have a UV Texture SOP or a USD UV Texture LOP to define how the material tiles across the surface.
I don't see the KitBash3D_Cargo folder
Cause: The project was likely not saved before importing, or the import failed.
Fix: Save your
.hipfile and re-import the asset. Cargo needs a saved path to know where to build the local directory.
The textures are missing when I move my project
Fix: Ensure you are moving the entire project folder, including the
KitBash3D_Cargodirectory. If you only move the.hipfile, the relative paths to the textures and USD models will break.
The viewport is black after pasting the path
Cause: The renderer might be set to Houdini GL.
Fix: Switch the viewport renderer to Karma (top right of the viewport) to enable USD texture evaluation.
The HDRI doesn't update when I paste
Fix: Ensure you hit Enter after pasting the path into the parameter field. Houdini requires the "Enter" stroke to cook the node and update the USD stage.
The sky looks pixelated
Cause: You may be using a 1K preview version of the HDRI.
Fix: Download the 4K variant in Cargo for high-resolution background plates and sharper specular highlights.
Troubleshooting: Houdini Gobos
I assigned the light but I don't see the shadow
Fix 1: Ensure the Light Filter Library is the active display node (Blue flag) or is merged into the final scene output.
Fix 2: Verify that your Spotlight is actually pointing at the geometry. Increase the intensity to a high value (e.g.,
1000) to confirm the light is hitting the surface.
The pattern is upside down
Fix: You can rotate the Spotlight LOP itself in the viewport, or use the Rotate parameters inside the Karma Light Filter Gobo node.
The texture file isn't found
Check: Ensure you hit Enter after pasting the path. If Houdini still cannot find the file, verify that the Cargo download was successful and the file exists at the copied path.
