Skip to content

USD Variants & Variations

Variant Sets are the “Styles” or “Configurations” of the USD world. They allow a single file to contain multiple variations of geometry, materials, or metadata.

Unlike basic viewers that only show the current state, Preflight’s Inspector queries the entire Reference Stack to find all available variants.

  • Inherited Variants: Preflight detects variant sets defined on the selected prim and all of its parents. This means if you select a character’s hand, you can still toggle the “Costume” variant set defined on the root character prim.
  • Dynamic Menus: Each detected set (e.g., LOD, MaterialFlavor, OpenState) appears as a dedicated dropdown.

The core principle of Preflight is “Never break the source.”

  • Optimistic Selection: When you pick a variant, Preflight holds that selection “optimistically” in the UI.
  • Session Persistence: The selection is written to a Session Layer using the fix:setVariantSelection action. This means you can toggle 20 different variants, export the result as a new file, and your original asset remains in its base state.
  • Stable Keys: Preflight uses stable internal keys to ensure that even if the underlying USD file is reloaded or modified by an external tool, your inspector selections remain focused on the correct prims.
  • LOD Verification: Switch between High, Medium, and Low variant sets while monitoring the Geometry Statistics to verify optimization.
  • Material Swapping: Use Material Variants to test how different surfaces look under various lighting conditions in the Viewport.
  • Complexity Management: If a file is loading too slowly, check if there are “Complexity” variants hidden in the file that can be toggled to a lower setting.