Skip to main content

Using Maya with Cargo 3.0: Workflows & Integration

This guide covers the USD-native workflow in Cargo 3.0 for Maya, including connector installation, automatic shading for Arnold and V-Ray, and the high-performance 'Source vs. Instance' hierarchy for memory-efficient scene building.

Written by Elaine
Updated today

The Production USD Pipeline

Cargo 3.0 for Maya leverages a high-performance USD framework to bring KitBash3D assets into your production pipeline with zero translation lag whether you are using Arnold, V-Ray, Redshift, or Octane, Cargo 3.


Connection & Setup

Installing the Maya Connector

The Process:

  • In Cargo: Go to the lower-left Connector icon.

  • Select Connect Software -> Maya.

  • Select your version (e.g., 2026).

  • Click Install Connector.

  • Tip: To switch versions or clean up, click the three dots (...) next to a version to Uninstall.

Activating the Plugin in Maya:

  • Open Maya.

  • Navigate to Windows > Settings/Preferences > Plug-in Manager.

  • Search for "Cargo".

  • Locate cargo_maya_importer.mel. Check both Loaded and Auto Load.

Opening the Importer Window:

  • Once loaded, a new Cargo menu will appear in the top menu bar (next to Help).

  • Click Cargo > Importer Window. This window must be open to receive assets.

Watch Video: Getting Started with Cargo with Maya


Plugin Settings & Preferences

Enabling Manual Import Mode

By default, the Maya importer is set to receive assets directly from the Cargo app. To enable manual browsing of your downloaded USD files, follow these steps:

  1. Navigate to Windows > Settings/Preferences > Preferences.

  2. In the Categories list on the left, scroll down to the bottom and select Cargo.

  3. Check the box for Manual Import Mode.

  4. Result: The Cargo Importer window UI will immediately update to show file path and folder selection fields.

Advanced Import Preferences

To access these new features, navigate to:
Windows > Settings/Preferences > Preferences > Categories: Cargo

  • Import Colliders:

    • Description: Gameplay-ready kits include custom-authored collisions.

    • Toggle OFF: If you are working strictly in VFX/Offline Rendering and want a cleaner Outliner without hidden proxy meshes, uncheck this box.

  • Copy Textures to Local Folder on Import:

    • The "Portable Project" Workflow: This copies used textures into a local folder (named "textures" by default) sitting next to your .mb or .ma file.

    • The "Source of Truth": Cargo still maintains the high-res textures in your Global Library, but this local copy ensures the project is self-contained.

    • Requirement: The file must be saved. If the file is not saved, Cargo cannot establish the path to create the local texture folder.

Watch Video: Exploring New Features of the Cargo Maya Importer


Importing Assets

The 1-Click Workflow

  • The Handshake: Verify the Chain Link icon in the Cargo app is Glowing Green.

  • Action: Select an asset in Cargo (e.g., "Barrels") ⟶ Click Download ⟶ Click Send.

  • Automatic Shading: Cargo detects your active renderer (e.g., Arnold) and automatically builds the shading network in the Hypershade.

Viewport Verification

Textures: To see your textures in the Maya viewport, ensure you have Hardware Texturing enabled.

  • Path: In the Viewport menu, go to Shading > Hardware Texturing.

Outliner: Assets will appear in the Outliner with a clean hierarchy, ready for layout or rigging.

Requirements for Manual USD Import

USD 7.0 Standard: Only assets downloaded with Cargo 3.0 (stored in the 7.0 folder) are compatible.

Texture Variant Sync: You must set the Texture Variant dropdown in the Maya Importer UI to match the specific files on your drive (e.g., if you downloaded 2K PNGs in Cargo, select 2K PNG in Maya).

Watch Video: Manually Importing USD Files in Maya: A Step-by-Step Guide

Option A: Importing a Single Asset

  1. In the Cargo Importer window, click the USD File button.

  2. Navigate to your Cargo Library path -> [Kit Name] -> 7.0.x -> Models.

  3. Enter the specific folder for your asset (e.g., Powered_Barrel).

  4. Select the .usd file named after the asset (the "Root" file).

  5. Click Import.

Option B: Batch Importing an Entire Kit

This is the fastest way to populate a custom library or bring an entire category of props into your scene at once.

  1. In the Cargo Importer window, click the USD Folder button.

  2. Navigate to your Cargo Library path -> [Kit Name] -> 7.0.x.

  3. Critical Selection: You must select the Models folder level.

  4. Click Import.

  5. Result: Maya will sequentially scan every sub-folder and import every asset in that kit simultaneously.

Managing Large Batch Imports

When importing an entire folder (Batch Mode), Maya will place all assets at the world origin (0,0,0).

  • Organization: Check your Outliner immediately after a batch import. All assets will be neatly grouped by their original kit names.

  • Separation: Because assets land on top of each other at the origin, use the Root Group nodes to move and distribute the assets across your scene.

Standalone Material Workflow

Importing materials from the Cargo library (including specialized KitBash3D and Greyscalegorilla collections) populates the Maya Hypershade instantly.

  • The Process:

    1. In Cargo, navigate to the Material Kits tab.

    2. Select your desired material (e.g., "Perforated Plastic Honeycomb").

    3. Choose your resolution and format (e.g., 2K PNG) and click Download -> Send.

  • Hypershade Integration:

    • The material appears immediately in the Materials tab of the Hypershade.

    • Cargo automatically builds the full PBR network (Base Color, Roughness, Normal, etc.) specifically for your active renderer (e.g., Arnold Standard Surface).

    • You can select the material and click Graph Network to see the optimized node setup.

Watch Video: Easily Importing Materials into Maya with Cargo


Understanding the File Structure (USD)

The "Source vs. Instance" Hierarchy

When a Cargo asset (especially from a "Gameplay Ready" kit) is imported into Maya, it is organized to maximize memory efficiency through instancing.

  • The Asset Group (Root): This is the top-level transform node. Use this to move, rotate, and scale the entire assembly in your scene.

  • The Instances: Within the group, repeated items (like the four barrels in the "Storage Assembly") are true Maya instances.

  • Benefit: Maya only stores the geometry data for one barrel, regardless of how many appear in the group, drastically reducing RAM usage.

  • The Source Folder (Hidden): * Status: Hidden by default.

    • Purpose: This contains the original "Master" meshes that the instances reference.

    • Unique Assets: Some parts of an assembly (like a unique base or a specific structural beam) may not be instanced and can be edited directly without affecting other objects.

Advanced Outliner

The Anatomy of a Cargo Instance

In Maya, Cargo 3.0 uses a highly organized node structure. Understanding this hierarchy allows for precise control over individual components of a kit:

  • The Transform Node (e.g., Barrel_A_1): This is the "handle" you use to move an object.

  • The Shared Shape Node (e.g., Barrel_A_Shape): If you expand a transform node, you will see the underlying geometry. Notice that multiple barrels share the exact same shape node name. This is why editing one modifies all of them—they are looking at the same geometric data.

  • Hidden Collisions: * Where to find them: Expand the transform node further to find the hidden Collision geometry.

    • Purpose: These are optimized proxy meshes designed for game engines. While hidden by default in Maya, they are authored and ready for export if you are moving your scene into Unreal or Unity.

The Hypershade Integration

Cargo 3.0 doesn't just import textures; it builds complete, render-ready materials.

  • Graphing Materials: You can select a Cargo asset, open the Hypershade, and click Graph Network to see the full PBR setup (Base Color, Metalness, Roughness, Normal, etc.).

  • Renderer Support: Works natively with Arnold (Standard Surface) and supports high-end third-party renderers like V-Ray, Redshift, and Octane.

Local vs. Global Textures (Maya)

  • Default Behavior (Linked): Textures are linked directly to your global Cargo library. This saves disk space but requires the library to be present for the scene to render.

  • Local Behavior (Copied): When "Copy Textures" is enabled, Cargo creates a [Project_Folder]/textures directory.

    • Benefit: This allows you to zip up your project and send it to a render farm or another artist without worrying about "Missing File" errors.

    • Organization: The local folder will only contain the textures for the assets actually imported into that specific scene.

Watch Video: Efficient Asset Modification in Maya with Instancing

Watch Video: Understanding Hierarchy and Instance Geometry with Maya and Cargo 3


Post-Import Workflow

Non-Destructive Global Editing

Because the assets are instanced, you can perform "Global Look-Dev" or modeling tweaks across the entire assembly simultaneously.

How to Perform Global Edits:

  1. Select any instance of a repeated object (e.g., one of the barrels).

  2. Enter Component Mode (Right-click > Face, Edge, or Vertex).

  3. Perform your modification (e.g., scaling a face or moving an edge).

The Result: The edit will propagate to every instance of that object within the assembly (and any other instances of that same source mesh in your scene).

World Building & Set Dressing

Transforming: Always move the Root Group for initial placement to ensure the internal relative offsets of the kit remain intact.

Keyframing Caution: Be mindful when using standard shortcuts like S. In Maya, it is easy to accidentally set keyframes on the root group while trying to scale or move, which may affect your layout later.

How to Break Instancing (Making a Unique Variant)

If you need to modify one specific part of an assembly (e.g., making one barrel crushed) without affecting the others, follow this "De-instancing" workflow:

  • Duplicate: Select the instance in the Outliner and press Ctrl + D.

  • Convert: With the new duplicate selected, go to Modify > Convert > Instance to Object.

  • Clean Up: * The object is now a unique piece of geometry.

    • You can now safely delete the internal Collision nodes or rename the mesh without affecting the original assembly.

  • Edits made to this new mesh will be local and unique.

Applying and Visualizing Materials

Once the materials are in Maya, you can quickly swap them to test different looks for your scene.

Assignment:

  • Right-click the material in the Hypershade and select Assign Material to Selection, or middle-mouse drag the material onto your object in the viewport.

Viewport Visibility:

  • Crucial Step: To see the imported materials correctly in the viewport, you must enable Hardware Texturing.

  • Path: In the Viewport panel menu, go to Shading > Hardware Texturing.

Scaling & Tiling:

  • Because these are PBR materials, you may need to adjust the UV tiling to match your object's scale.

  • How-To: Open the material's Graph Network in the Hypershade, locate the place2dTexture nodes, and adjust the Repeat UV values (e.g., increasing the numbers to make the "Perforated Plastic" holes smaller).

Managing Scene Complexity

Collisions: If you imported with "Import Colliders" enabled, these appear as hidden nodes within your asset hierarchy. They are excellent for blocking out physics in Maya or prepping for a Game Engine export.

Updating Preferences: You can change these settings on the fly. For example, you can import one asset with collisions and the next without, simply by toggling the preference between "Sends."

Environment Lighting (HDRIs)

The HDRI Workflow (Arnold)

Cargo 3.0’s HDRI library provides professional-grade lighting environments. In Maya, these are best utilized via the Arnold Skydome Light for accurate physical lighting and reflections.

Step 1: Create the Skydome

  1. Navigate to the Arnold menu at the top.

  2. Select Lights > Skydome Light.

Step 2: Importing from Cargo

  1. In Cargo, navigate to the HDRI Kits (e.g., "Ultimate Skies").

  2. Select an HDRI and choose your resolution (e.g., 4K EXR).

  3. Click Download. Once the download is complete, click Copy Path.

Step 3: Linking the Texture

  1. In Maya, select the aiSkydomeLight node.

  2. In the Attribute Editor, locate the Color attribute. Click the Checkerboard icon next to it.

  3. Select File from the Create Render Node list.

  4. In the File node settings, find the Image Name field. Click the folder icon or simply paste the copied path (Ctrl + V) directly into the file browser and hit Open.

Rapid Look-Development

The "Copy Path" workflow is designed for speed. To test a different lighting mood:

  1. Download a new HDRI in Cargo (e.g., a "Dusk" sky vs. "Midday").

  2. Click Copy Path.

  3. In Maya, paste the new path directly into the Image Name field of the existing File node.

  4. The lighting in your Arnold RenderView will update instantly, allowing you to cycle through dozens of skies without creating new lights.

Adjusting the Light Direction

  • Rotation: Simply select the aiSkydomeLight in the viewport or Outliner and use the Rotate tool (E). Spinning the dome will change the sun's position and the orientation of the background clouds/horizon.

  • Resolution: For look-development, 1K or 2K HDRIs are sufficient. For final renders where the sky is visible in the background, use the 4K variant for maximum clarity.

Watch Video: Using HDRI Kits in Maya and Cargo 3.0

Texture Kits & Gobo Lighting

What is a Gobo in Arnold?

A Gobo (Go Between Optics) is a texture used as a slide or mask in front of a light source to create complex shadow patterns. Cargo 3.0’s Texture Kits provide high-quality textures (trees, blinds, window frames) that turn standard lights into cinematic light sources without extra geometry.

The Gobo Setup (Area or Spotlights)

Gobos in Arnold are most effective when applied to aiAreaLight or aiSpotlight nodes.

Step 1: Light Configuration

  1. Create an Arnold Area Light (Arnold > Lights > Area Light).

  2. Position it outside a window or pointing toward your subject.

Step 2: Importing from Cargo

  1. In Cargo, navigate to Texture Kits > Gobos.

  2. Select a pattern (e.g., "Palm Trees" or "Lines").

  3. Click Download, then click Copy Path.

Step 3: Connecting the Gobo

  1. In Maya, select your aiAreaLight.

  2. In the Attribute Editor, find the Color attribute and click the Checkerboard icon.

  3. Select File from the Create Render Node list.

  4. In the File node, paste the copied path (Ctrl + V) into the Image Name field and hit Enter.

Step 4: The Arnold "Gobo" Filter (Optional for advanced control)

  • For sharpest results, you can also add an aiGobo filter to the light's Filters section in the Attribute Editor, allowing you to control the "Density" and "Offset" of the pattern separately.

Rapid Look-Development

Just like with HDRIs, the "Copy Path" workflow allows you to rapidly iterate on lighting moods:

  1. Download several Gobo variants in Cargo (e.g., Blinds, Tree Leaves, Caustics).

  2. Paste new paths directly into the existing File node's Image Name field.

  3. The Arnold RenderView will update instantly, showing how the different shadow patterns affect the scene's mood.

Watch Video: Enhancing Interior Lighting with Gobos in Maya and Cargo 3.0


Troubleshooting: Maya

Cargo Menu is Missing

  • Cause: The plugin isn't loaded in the Plug-in Manager.

  • Fix: Go to Windows > Settings/Preferences > Plug-in Manager and ensure cargo_maya_importer.mel is checked as Loaded.

Textures are Gray/Missing in Viewport

  • Cause: Hardware Texturing is turned off.

  • Fix: In the viewport panel, select Shading > Hardware Texturing.

"Send" Failed/No Asset Appears

  • Check: Is the Cargo Importer Window open inside Maya? The connection requires that specific window to be active to receive the USD data.

Handshake is Grey (Not Connected)

  • Fix: Ensure you have opened Maya at least once before installing the connector so Cargo can detect the local preferences.

I edited one bolt/barrel and they all changed!

  • Cause: You are editing an Instance. Maya's instance system shares the same shape node across multiple transform nodes.

  • Fix: If you want a unique edit, select the object and go to Edit > Duplicate Special (with 'Instance' unchecked) or use the "Modify > Convert > Instance to Object" command to break the link.

Where is the original geometry?

  • Check: Look for a hidden group (usually named Cargo_Sources or similar) in your Outliner. Toggle its visibility (select it and press H) to see the master meshes at the scene origin.

Selection is slow or laggy

  • Fix: Ensure you are not in "High Quality Rendering" in the viewport if you have thousands of instances. Stick to Viewport 2.0 with Hardware Texturing enabled for the best performance-to-visual ratio.

I tried to move a barrel and the whole building moved!

  • Cause: You likely selected the Root Group node.

  • Fix: Expand the group in the Outliner and select the specific Transform Node for the individual item you want to move.

Why is there extra hidden geometry inside my mesh?

  • Cause: Those are the Gameplay-Ready Collisions.

  • Fix: They are hidden by default and do not render. You can leave them alone to keep the asset "Game Engine Ready," or delete them if you've converted the instance to a unique object and want to slim down your Outliner.

Renaming an object changed the name of three others!

  • Cause: You are renaming a shared Shape Node.

  • Fix: To give an object a truly unique name and identity, you must use the Instance to Object conversion first.

The Manual Import buttons aren't showing up

  • Fix: Ensure you have toggled Manual Import Mode inside the Maya Preferences menu (Windows > Settings/Preferences > Preferences > Cargo).

I selected the Kit folder, but nothing imported

  • Cause: Wrong folder level selected.

  • Fix: You must select the Models folder specifically within the 7.0 directory for the batch script to trigger correctly.

Assets are untextured after manual import

  • Cause: Texture Variant mismatch.

  • Fix: Confirm which textures exist in your 7.0/Textures folder. Ensure the dropdown in the Maya Cargo Importer matches that format (e.g., JPEG vs PNG) and resolution.

I sent a material but the Hypershade is empty

  • Check: Ensure the Cargo Importer Window (Cargo > Importer Window) is open and active. Maya requires this window to be open to receive the "Send" command from the Cargo app.

The material looks flat or gray in the viewport

  • Cause: Shading is set to "Smooth Shade All" but Hardware Texturing is off.

  • Fix: Toggle Shading > Hardware Texturing in the viewport menu.

The textures aren't appearing on my object

  • Cause: The object may not have UVs or the renderer isn't set up.

  • Fix: Ensure your object has a UV map. Also, verify that the Arnold (or chosen renderer) plugin is loaded in the Plug-in Manager so the shader nodes can be created correctly.

The local texture folder wasn't created

  • Cause: The Maya scene was not saved before the import.

  • Fix: Save your scene. Cargo needs a defined file path to know where to generate the local /textures folder.

I turned off Colliders, but they are still there on my old imports

  • Cause: Preferences only affect new imports.

  • Fix: The preference is not retroactive. To remove colliders from existing imports, you must manually delete them from the Outliner or re-import the asset with the setting turned off.

My scene file is getting huge

  • Check: If "Copy Textures" is on, your project folder will grow with every import. If disk space is an issue, turn this off and allow Cargo to link to the Global Library instead.

The viewport is black even after adding the HDRI

  • Cause: Viewport lighting settings are likely set to "Default."

  • Fix: In the Viewport menu, go to Lighting > Use All Lights and ensure Shading > Hardware Texturing is enabled.

The HDRI looks flipped or distorted

  • Cause: The File node might be set to a projection type other than spherical.

  • Fix: Ensure the aiSkydomeLight Format is set to Lat-long (the standard for HDRI spheres).

Shadows are too soft/blurry

  • Tip: If the sun in your HDRI is small and sharp, but your shadows are soft, check the Resolution attribute on the Skydome node. Increasing this (e.g., to 1000 or 2000) can help Arnold sample the "bright spots" in the HDRI more accurately.

The shadows are too blurry/not showing up

  • Fix 1 (Light Size): If using an Area Light, scale it down. Smaller light sources create sharper shadows.

  • Fix 2 (Spread): On an Arnold Area Light, lower the Spread value (e.g., to 0.2 or 0.3). This focuses the light beam and makes the Gobo pattern much clearer.

The light is too dark after adding the Gobo

  • Cause: The Gobo is physically blocking a large portion of the light.

  • Fix: Increase the Exposure or Intensity of the light in the Attribute Editor to compensate for the blocked areas.

The pattern is stretched or upside down

  • Fix: Use the place2dTexture node connected to your Gobo's File node. Adjust the Rotate Frame or Repeat UV values to correctly align the shadows with your windows.

Did this answer your question?