A housing authority debates how to structure unit finish packages in OpenUSD. When are variants the more appropriate choice than separate referenced finish assemblies?
Select an answer to reveal the explanation.
Short Explanation
Think of finish packages like paint chips on one sample board—you pick one chip at a time, not four different cabinets. Variants shine when the choices are mutually exclusive on the same unit shell. Separate references are clearer when the finishes are basically different products that should stay as their own assemblies.
Full Explanation
USD variants are the right composition tool when mutually exclusive finish options must switch on one shared housing component without exploding the unit into unrelated assemblies. Finish packages that swap materials, fixtures, or interior looks on the same unit shell share prim structure and differ by selectable configuration—exactly what a variant set encodes. Housing authorities can then select one finish per instance or review pass while keeping a single reusable component identity and avoiding duplicate asset trees for every paint-and-trim combination.
Requiring each finish package to live in a different coordinate system that cannot share a prim hierarchy points away from variants: incompatible hierarchies need separate assets or references, not a shared variant dial. Unrelated schemas that cannot switch on the same component prim likewise fail the shared-structure assumption variants rely on. Wanting every finish package loaded at full strength simultaneously without selection contradicts mutual exclusivity; that pattern is simultaneous composition (layers/references), not a single selected variant.
Exam caveat: variants are not a substitute for payloads or references when finishes are truly different products with independent lifecycles—use references/assemblies there. Operational check: ask whether selecting finish A must exclude finish B on the same unit prim. If yes and the shell is shared, author a variant set and verify only one variant’s opinions contribute when selected; if no, prefer separate referenced finish assemblies and compose them deliberately.