Which of these are valid types for custom attributes in OpenUSD? (Choose two.)
Correct Answer: B, C
Explanation:
Custom attributes in OpenUSD are user-defined properties authored on prims to store additional
typed data beyond predefined schema attributes. NVIDIA’s Learn OpenUSD material states that
custom attributes can hold “numeric values, strings, or arrays,” and that custom attributes are
created with UsdPrim::CreateAttribute(), where Sdf.ValueTypeNamesrepresentsthe attribute type.
NVIDIA’s OpenUSD data type reference lists Asset with the USDA value type token asset, and
StringArray with the USDA token string[], making asset paths and string arrays valid attribute value
types.
Option B is correct because asset path values are represented through the asset value type and are
commonly used for resource references such as textures or external asset identifiers. Option C is
correct because string[] is a valid array value type. Option A is incorrect because USD does not have a
native struct attribute type; NVIDIA recommends namespace-prefixed attributes for mapping
grouped or compound fields. Option D is incorrect in this context because dictionaries are associated
with metadata/custom Data patterns, not ordinary typed custom attributes. This aligns with
Customizing USD → Custom Properties, Sdf.ValueType Names, Name spaced Attributes.
Question 2
In OpenUSD, which USDA snippet correctly uses a payload to reference an external asset while
allowing deferred loading?
Correct Answer: A
Explanation:
Option A is the correct USDA pattern because a payload is authored as prim metadata using the
singular payload keyword with a list-editing operation such as prepend. NVIDIA’s Learn OpenUSD
payload exercise shows the canonical USDA form: prepend payload = @./red_cube.usd@, authored
on the prim declaration. It further explains that payloads are similar to references in USDA, with the
important distinction that the keyword is payload rather than references.
The key technical purpose of a payload is deferred loading. NVIDIA explains that payloads can
compose scene description when loaded, or unload the targeted scene description beneath the
payloaded prim. It also contrasts this with references, which are always composed and present on
the stage, while payloads can be opened unloaded and selectively loaded later.
Option B is incorrect because payloads is not the USDA keyword and it is not authored as a property
inside the prim body. Option C uses a reference, not a payload, so it does not provide payload
load/unload behavior. Option D is not the canonical list-op form expected here. This aligns with
Composition → Reference and Payloads → Working With Payloads.
Question 3
Which of the following statements best describes the purpose of OpenUSD file format plugins?
Correct Answer: A
Explanation:
OpenUSD file format plugins belong under the Data Exchange topic because they expand how USD participates in interchange workflows. Their purpose is to allow OpenUSD to read, interpret, and in some cases write data using formats beyond the native USD file types such as .usd, .usda, .usdc, and .usdz. Through these plugins, external file formats can be exposed to USD as layers and can participate in composition arcs such as references, payloads, and sublayers. This allows pipelines to integrate heterogeneous asset sources while still using USD’s scene description model, composition engine, and layer-based workflows.
Option A is correct because it directly identifies the function of file format plugins: extending OpenUSD functionality for reading and writing various file formats. Option B is incorrect because visualization is only one possible downstream use of exchanged data, not the purpose of the plugin system. Option C is incorrect because translation between formats does not inherently guarantee lossless preservation of every schema, opinion, or semantic construct. Option D is incorrect because compression is not the primary role of file format plugins. This aligns with the NVIDIA OpenUSD Development Study Guide topic Data Exchange , especially file formats, connectors, and plugin-based interoperability.
Demo Practice Mode
You are viewing only the questions marked as Demo.