Skip to main content

Using 3ds Max with Cargo: Workflows and Integration

Written by Elaine

1. Connection & Setup

Renderer Compatibility

Cargo 3.0 fully supports automatic material network generation for the following major 3ds Max render engines:

  • V-Ray

  • Arnold

  • Redshift

  • Octane

The "First Launch" Rule for Connector Installation

Before attempting to install the Cargo script into 3ds Max, you must ensure the software has a registered profile on your system.

  • The Requirement: If you have just installed a new version of 3ds Max (e.g., 2025, 2026), you must open the software at least once and then close it before linking it to Cargo.

  • Why? Cargo scans your local directory paths for the software's native configuration files. If 3ds Max has never been fully initialized, Cargo will fail to recognize the installation and cannot drop in its connector files.

Linking Steps:

  1. In the Cargo desktop app, navigate to the bottom-left corner and click Connect Software.

  2. Select 3D Studio Max from the list.

  3. Choose your specific version from the dropdown menu and click Install Connector.

  4. Launch 3ds Max. You will now see a dedicated Cargo dropdown menu integrated seamlessly into the top menu layout.


2. Plugin Settings & Preferences

To access the importer settings within 3ds Max, navigate to the top bar: Cargo > Preferences.

[ Cargo Top Menu ]   ├── Importer Window (Toggles connection panel / manual UI)  └── Preferences (Customizes file handling & data extraction)

Copy Textures to Local Folder on Import

Default Status: Enabled.

  • How it works: When enabled, Cargo will read your active 3ds Max file location and generate a local asset folder sitting directly next to your scene file. All textures used by the incoming asset are duplicated here.

  • Critical Save Caveat: If this is enabled, you must save your 3ds Max scene file before sending an asset. If the scene is unsaved (Untitled), Cargo cannot find a file path destination, and your textures will fail to link.

  • When to Toggle Off: If you want to keep your project files lightweight or are working over a shared network storage ecosystem, uncheck this box. Cargo will instead directly link materials to its global master download library path as its permanent "source of truth."

Import Colliders

Default Status: Disabled.

  • Purpose: For "Gameplay Ready" kits containing custom-authored collision boundaries. Uncheck this to keep your standard DCC layout, Layer Explorer, and scene calculations clean from non-rendering geometry proxy groups. Turn it on only if you specifically require game-engine collision optimization passes.

When working in complex multi-artist scene environments, you can fine-tune asset ingestion behavior through the advanced settings panel (Cargo > Preferences):

Skip Existing Settings

Skip Existing Assets / Skip Existing Materials:

  • Enabled (Default): If you attempt to re-import a prop or material network that already shares an identity signature inside your active scene layer, 3ds Max ignores the duplicate incoming data stream to protect your local performance overhead and layout edits.

  • Disabled (Force-Override Mode): If a Kit asset receives an upstream hotfix or update version, uncheck these options. This disables the protection walls, allowing you to force-import the clean incoming USD structure and override any older existing iterations without breaking asset instances.


3. Importing Assets

Before sending any assets from Cargo, you should explicitly set up your target pipeline inside 3ds Max

  1. Open the Render Setup dialog box (F10 shortcut).

  2. Set your Target Renderer dropdown to your preferred production engine (e.g., switching from the default Arnold to V-Ray).

  3. Open Cargo, navigate to your desired kit or the My Downloads tab, select your asset, and click Send.

  4. Result: Cargo reads the exact active render engine you selected in the F10 panel and builds the correct native PBR texture graph instantly.

Requirements for Manual USD Import

WATCH VIDEO: Manually Import USD files with 3DS Max

Manual Import Mode allows you to bypass the live Cargo desktop link entirely and source directly from your localized download repositories.

  • OpenUSD 7.0+ Pipeline Constraint: Cargo 3.0 utilizes modernized USD schemas. 3ds Max will only successfully parse asset folders designated as Version 7.0 or greater (originating from Cargo 3.0). Attempting to reference legacy folders (Version 6 or lower from Cargo 2.0) will result in compilation or geometry parsing errors.

  • Texture Variant Matching: You must align the texture format dropdown in the 3ds Max Cargo Importer UI with your physical drive assets. For example, if your folder houses downloaded 2K PNG maps, ensure the format parameter is explicitly set to PNG 2K.

Manual Import Steps

To access the manual payload options, toggle the utility layout via the top bar: Cargo > Preferences > Enable Manual Import Controls.

[ Cargo Importer Window - Manual Layout ]  ├── USD File (Targeted single-asset injection)  └── USD Folder (Automated multi-asset batch processing)

Option A: Importing a Single Asset Node

  1. Open the Cargo Importer Window within 3ds Max.

  2. Click USD File.

  3. Direct your system browser to your local download repository path: .../Cargo/Kits/[Kit Name]/7.x/Models/[Asset Folder].

  4. Select the .usd file corresponding exactly with the target asset name (e.g., Barrel_B.usd) and choose Open.

  5. Click Import to construct the asset at the world origin with its original pivot hierarchies.

Option B: Batch Processing an Entire Asset Kit

  1. Click USD Folder inside the manual layout options.

  2. Direct the browser directory root to the master Models structural level inside the kit's 7.x schema.

  3. Select the folder and execute the import.

  4. The Result: 3ds Max will step down sequentially through every underlying asset subdirectory, automatically parsing and instantiating the entire prop library into your active scene context in a single operational step.

Importing Assets (Materials & Shaders)

Standalone Material Workflow

WATCH VIDEO: Send Cargo Materials to 3D Studio Max

Importing materials from Cargo (including high-fidelity architectural textures and Grayscalegorilla collections) populates your active 3ds Max material library automatically without requiring manual map linking.

The Process:

  1. Open Cargo and navigate to the Material Kits tab.

  2. Select your asset (e.g., "3D Printed Plastic Silk Silver").

  3. Choose your texture resolution and format, then click Download $\rightarrow$ Send.

Slate Material Editor Integration:

  • Cargo automatically injects a fully wired shader network into your Slate Material Editor workspace.

  • The shader network uses native nodes matching your active render engine specified in the Render Setup dialog (F10) (e.g., building a native VRayMtl graph if V-Ray is active, or an aiStandardSurface graph for Arnold).

Look-Dev Tip: Populating the Compact Editor

For artists who prefer a classic, modular view or like maintaining a clean scene library bucket alongside their working node graph:

  1. After importing an asset via the Slate editor, switch your workspace utility view to the Compact Material Editor (Modes > Compact Material Editor).

  2. Use the Get Material eyedropper tool or select your imported Cargo material graph.

  3. Drag and drop the shader node into one of the blank active material sample slots.

  4. This preserves the Cargo material directly inside your local slot cache for rapid assigning, scene packing, and quick texture coordinate tracking.

Handling Material Displacement

When a material contains structural height data, Cargo imports the asset with its core PBR maps fully connected but leaves the displacement node unconnected so users have the freedom to dial in the amount they want:

The Displacement Setup: Look at the generated material network in the Slate window. You will see a standalone Displacement map node generated alongside your main shader.

How to Apply: Wire the output of this displacement node directly into your material's native displacement input slot (or feed it into a VRayDisplacementMod / 3ds Max Displace modifier applied to your mesh).

Geometry Requirement: Ensure your target geometry has adequate topology or subdivisions (such as a TurboSmooth modifier) to physically support the height variations.


Renderer-Specific Displacement Workflows

When importing materials with height data, Cargo includes the necessary displacement maps. However, how you activate and control that displacement depends entirely on your active render engine. The engines are split into two distinct architectural approaches:

[ Displacement Architecture in 3ds Max ]  ├── Object-Based Property (Arnold & V-Ray) ─── Modified via Object Stack / Properties  └── ShaderGraph-Based Property (Redshift & Octane) ─── Modified inside Slate Material Editor

1. The Object-Based Approach (Arnold & V-Ray)

In Arnold and V-Ray, displacement is treated as a geometric property of the object itself, not a function of the material shader. When you send a material from Cargo, the displacement map is generated in your Slate editor but will not physically deform the object out of the box.

V-Ray Workflow:

  1. Select the imported model or geometry in your viewport.

  2. Go to the Modify Panel and add a VRayDisplacementMod modifier to the object's stack.

  3. Open the Slate Material Editor (M).

  4. Drag a wire from the output of the Cargo-generated displacement texture map and drop it into the Texmap slot of the VRayDisplacementMod modifier.

  5. Control the physical height using the modifier’s Amount and Shift parameters.

Arnold Workflow:

  1. Select your target mesh.

  2. Right-click the object and open Object Properties, or navigate to the Modify Panel and apply an Arnold Properties modifier.

  3. Under the Displacement tab, check Enable.

  4. Link the Cargo displacement map to the texture slot here and define your bounds/height metrics.

2. The ShaderGraph-Based Approach (Redshift & Octane)

In Redshift and Octane, displacement is treated as an attribute of the material shader network. Cargo automatically handles the initial connections for these engines, plugging the maps directly into the shading graph.

Redshift Workflow:

  • The Graph: Cargo automatically connects the displacement texture map to a Redshift Displacement node, which is then plugged directly into the Displacement input slot of the main Redshift Material output node.

  • Tuning: To adjust the height, simply double-click the Redshift Displacement node inside the Slate Material Editor and adjust the Scale slider.

Octane Workflow:

  • The Graph: Cargo links the displacement map node directly into the Displacement input node pin of the Octane Material.

  • Tuning: Open the material parameters in Slate, navigate to the local Displacement node properties, and adjust the Amount (in cm/meters) to specify how far the geometry deforms.


Environment Lighting (HDRIs)

WATCH VIDEO: Quickly Add HDRI to 3ds Max with Cargo

The Environment Lighting Pipeline

The following workflow demonstrates how to bring high-dynamic-range skies into your scene using 3ds Max and V-Ray.

While the specific nodes and light creation steps vary across different Digital Content Creators (DCCs) and rendering engines (such as Arnold, Redshift, or Octane), the core Copy Path functionality in Cargo works exactly the same way.

By copying the asset's direct filepath string to your clipboard, you completely bypass manual directory diving across every major platform.

The V-Ray Dome Light Workflow

To utilize Cargo 3.0 HDRI assets for physical lighting distribution and 360-degree background mapping within 3ds Max, you should route them through a native VRayDomeLight.

Step 1: Fetching the Asset Path

  1. Open Cargo and navigate to the HDRI Kits tab (e.g., "Road Trip" or "Ultimate Skies").

  2. Select your environment sky and download your chosen data configuration.

  3. Click Copy Path to send the raw directory file location string directly to your system clipboard.

Step 2: Building the Map Network

  1. Open the Slate Material Editor (M shortcut).

  2. From the material/map browser side panel, drag a VRayBitmap (formerly VRayHDRI) node into your open view canvas.

  3. A system prompt will request the directory source file. Paste your copied file path string (Ctrl + V) directly into the file browser location field and click Open.

  4. Crucial Mapping Check: Select your VRayBitmap node. In the parameters viewport on the right, ensure you change the Mapping Type from 3Ds Max Standard to Spherical. This handles the long-lat projection wrap accurately across your environment without seam stretching.

Step 3: Generating and Instancing the Light

  1. Go to the Create Panel on the right side of the main UI layout: Command Panel > Create > Lights > V-Ray > VRayLight.

  2. In the light properties modification tab, change the light type selection to Dome, then click anywhere within your open viewport workspace to drop the node.

  3. Keep your Slate Material Editor window side-by-side with your properties panel. Click and drag the output node handle of your configured VRayBitmap texture map, dropping it directly onto the empty Use Dome Tex > Map assignment slot on the right panel.

  4. Assignment Type: When 3ds Max prompts you for the link type, always choose Instance. This keeps your light panel permanently synced with your Slate workspace configurations.

Rapid Look-Dev & Real-Time Tuning

V-Ray Viewport IPR: To check your environment distribution interactively without executing full render tests, switch your 3ds Max viewport configuration view over to V-Ray Viewport IPR rendering.

Altering Sky Rotations: Do not attempt to transform or spin the actual VRayDomeLight object geometry inside your viewport to shift the sun's location. Instead, open your VRayBitmap parameters inside the Slate workspace and adjust the Horiz. Rotation value (e.g., rotating it by 90.0 or 180.0 degrees) to shift the light position across your scene.

Hot-Swapping Environments: If you want to sample an entirely different lighting scenario, copy the path of a newly downloaded sky from Cargo and paste it directly into the File Name parameter field inside your active VRayBitmap node. The instance connection will instantly propagate the updated background across your open IPR window.

Real-Time Look Development wih Texture Kits

Because the texture is fully instanced between the Slate Material Editor and the light rig, you can treat Cargo as a live shadow palette while utilizing V-Ray Viewport IPR:

Keep Your Setup Open: Position the Cargo desktop application, your 3ds Max Viewport IPR window, and the Slate Material Editor side-by-side.

Hot-Swap Patterns: Select a completely different style in Cargo (e.g., switching from "Blinds" to an "Abstract Line" pattern), click Copy Path, and paste it directly into the File Name text block of your existing VRayBitmap node.

Interactive Adjustment: The shadow calculations will instantly re-project inside your active rendering window. You can freely adjust the light plane's Length and Width parameters in the Command Panel to scale, squash, or stretch the shadow pattern to fit your environment scale perfectly.

Texture Kits & Gobo Lighting (V-Ray)

WATCH VIDEO: Link V-Ray Lights with Gobo Textures

The Spotlight/Plane Light Gobo Setup

In 3ds Max using V-Ray, a Gobo is created by linking a texture map directly into the Texture input of a light source. For the sharpest, most defined shadow projections, a rectangular VRayLight (Plane) is highly recommended.

Step 1: Create and Configure the Light

  1. Navigate to the Command Panel: Create > Lights > V-Ray > VRayLight.

  2. Change the Type dropdown to Plane and draw the light grid in your viewport, pointing it directly at your subject.

  3. The Precision Secret (Directional): With the light selected, scroll down to the Options roll-out and increase the Directional parameter all the way to 1.0.⚠️ Critical Setting: By default, area lights emit light in a soft, spherical spread which will blur your Gobo into nonexistence. Setting Directional to 1.0 transforms the plane light into a laser-focused projector beam, ensuring your shadow patterns are perfectly crisp.

  4. Set the Multiplier to a balanced testing value (e.g., 10.0) and tick the Invisible checkbox under Options so the physical light plane doesn't block your camera view.

Step 2: Fetching the Gobo from Cargo

  1. In Cargo, navigate to Kits > Texture Kits > Gobo Textures.

  2. Choose a pattern (e.g., "Blinds" or "Palm Leaves").

  3. Click Download, then click Copy Path.

Step 3: Graph Configuration in Slate

  1. Open the Slate Material Editor (M).

  2. Drag a new VRayBitmap node into the map grid workspace.

  3. Paste your path (Ctrl + V) into the file location window prompt and click Open. Keep the node parameters at default settings.

  4. Drag a wire out of the VRayBitmap node's output handle and drop it directly onto the Texture > Map slot of your selected VRayLight in the Command Panel. Choose Instance when prompted.


4. Understanding the File Structure (USD)

The Assembly Hierarchy (Scene Explorer)

When a multi-object asset or a gameplay-ready prop kit is loaded into 3ds Max, Cargo structures it using a clean Source vs. Instance layout within your Scene Explorer layers:

The Displayed Asset: The primary geometry assembly you see at the origin. These meshes are true 3ds Max instances, optimized to consume minimal RAM.

Cargo_Instance_Sources Layer (Hidden): * Status: Set to Hidden by default.

  • Purpose: This dedicated layer acts as the background "engine room." It contains the unedited master meshes that your scene instances constantly reference. You do not need to manually open or alter this layer during typical placement workflows.

Layer Explorer vs. Hierarchy View (Scene Management)

When assets are ingested, the Cargo importer automatically mirrors the asset’s internal Hierarchy View directly into the 3ds Max Layer Explorer. This architectural choice prevents incoming assets from dumping into the default layer, keeping complex production scenes clean and easily navigable.

[ Scene Organization Workflow ]  ├── Hierarchy View ─── Preserves object parental chains & pivot data  └── Layer Explorer  ─── Segregates assets into discrete, togglable layers

Automated Layer Segregation: Every asset is assigned its own dedicated layer upon import rather than cluttering active workspace layers.

Rapid Visibility Management: By organizing assets into discrete layers, artists can toggle the visibility of entire complex asset groups (e.g., toggling an entire kitbashed neighborhood array) with a single click, bypassing the need to hide elements individually inside the Hierarchy View.

Automated Unique Naming Resolution: Because the 3ds Max Layer Explorer enforces a strict no-duplicate naming convention, the Cargo importer will automatically append and adjust layer names during ingestion to ensure unique identities without breaking the underlying USD schema.


5. Post-Import Workflow

WATCH VIDEO: Editing Imported Instances in 3ds Max

Global Non-Destructive Modeling

Because repeat assets (like a set of industrial barrels or structural pillars) are linked instances, you can execute global look-dev modifications across the entire kit instantly:

  1. Select any visible instance of the repeated mesh in your viewport.

  2. Go to the Modify Panel.

  3. Expand the Editable Poly or Edit Poly hierarchy to access sub-object modes (Vertices, Edges, or Polygons).

  4. Perform your tweak (e.g., sliding an edge loop to dent a barrel or scaling a face).

  5. The Result: The geometric alteration immediately propagates to every identical instance across your 3ds Max scene.

Visual Cue: In 3ds Max, you can easily verify if an asset is an instance by looking at the Modifier Stack. If the base object name or modifier text is displayed in Bold, it confirms that the object shares its structural data with other instances in the scene.

Breaking Instances (Making an Object Unique)

If you need to isolate a single prop from an assembly to give it unique styling, damage, or separate mapping coordinates, you can easily sever its instanced link:

The Workflow:

  1. Select the specific object you want to decouple.

  2. Right-click the object in the viewport or directly click its entry in the Modifier Stack.

  3. Select Convert to: Editable Poly (or click the native Make Unique button underneath the stack window).

The Result:
The text entry in your Modifier Stack will shift from Bold back to regular text, indicating that the mesh is now an independent, unique asset. Modifying its sub-objects will no longer affect the remaining kit pieces.


6. Troubleshooting: "What to Look For"

"Cargo is telling me it can't find my 3ds Max installation."

  • Fix: You likely have not opened this specific version of 3ds Max yet. Cancel the connector installer, launch 3ds Max to initialize its local configuration paths, close it, and retry the connector installation inside Cargo.

"I sent an asset, but it built an Arnold material network even though I wanted V-Ray."

  • Cause: Cargo references the exact engine designated inside your Render Setup (F10) panel at the exact moment you trigger the import.

  • Fix: Open your Render Setup panel, actively change the assignment to your chosen renderer, delete the old asset model/shading nodes, and click Send again inside Cargo.

"I selected a prop to move it, but the entire kit assembly shifted!"

  • Cause: You have selected the parent group or master transform helper node.

  • Fix: Open your Scene Explorer, expand the parent asset group, and select the specific sub-mesh or individual component layer you wish to transform separately.

"I want to delete the hidden source folder to clean up my scene file"

  • Warning: Do not delete or purge the Cargo_Instance_Sources layer. Your viewport instances rely entirely on these hidden meshes for their geometric data. Deleting the sources layer will break your instances and cause them to disappear or error out.

"I modified a unique object but its textures changed on all the other pieces too"

  • Cause: Converting a mesh to an Editable Poly breaks its geometric instance link, but it still shares the same Material assignment.

  • Fix: Open the Slate Material Editor, duplicate the assigned material node, change its parameters, and manually assign this new unique shader slot to your isolated object.

"I selected the master Kit folder, but the batch process didn't import anything"

  • Cause: The batch script expects a clean, direct layer of model definitions.

  • Fix: You must target the Models subdirectory folder explicitly inside the 7.x folder schema. Selecting the top-level kit structural directory or targeting the texturing paths will prevent the importer from locating the correct geometry payloads.

"My manual asset came in with all textures disconnected"

  • Cause: Texture format/resolution mismatch between the UI selector dropdown and your hard drive assets.

  • Fix: Verify the exact file extension type located inside your hard drive's local texture cache folders. Ensure your 3ds Max Importer configuration parameters exactly mimic those parameters (e.g., matching JPG 4K vs PNG 2K).

"I sent a material but the Slate Material Editor is completely blank"

  • Fix: The material will automatically build inside the active or newly generated View tab of your Slate workspace. If it doesn't appear immediately on your screen, click Z on your keyboard while focusing inside the Slate editor map grid to center your view on the newly generated node cluster.

"The material maps look blurry in my active viewport render"

  • Cause: 3ds Max scales down viewport texture resolutions by default to maintain stable display frame rates.

  • Fix: Select your material node, open its parameters, and toggle Show Shaded Material in Viewport. Additionally, navigate to your viewport driver configuration settings and increase the texture display limits to 2K or 4K.

"My environment is completely black or rendering dark gray"

  • Check 1: Ensure your target scene master renderer selection inside your Render Setup (F10) dialog matches your nodes (V-Ray). Native light systems like V-Ray elements will not process under default Arnold setups.

  • Check 2: Check the exposure controls of your physical camera. HDRIs require a high light intensity output or adjusted exposure values (EV) to balance clearly with scene geometry.

"The sky looks completely warped and stretched across the horizon"

  • Cause: Your texture map is processing under default flat projection rules.

  • Fix: Open your Slate workspace node properties panel for the VRayBitmap element and verify that the mapping coordinate toggle parameter is explicitly locked to Spherical.

Did this answer your question?