Skip to main content

NCP-OUSD OpenUSD Development

  • NVIDIA
  • 71 practice questions
  • Updated Aug 2026
  • 7 free sample questions

About this exam

NCP-OUSD is the NVIDIA exam OpenUSD Development. Practice material is available as a PDF, an interactive practice test or a bundle of both.

Exam code
NCP-OUSD
Vendor
NVIDIA
Practice questions
71
Questions with an explanation
45 of 71
Free sample questions
7
Question bank last updated
15 Aug 2026

Try 2 sample questions

Taken from the free sample set for NCP-OUSD.

Question 1 (choose 2)

Which of these are valid types for custom attributes in OpenUSD? (Choose two.) 

  1. Option A:
    structs
  2. Option B:
    assset paths
  3. Option C:
    string arrays
  4. Option D:
    dictionaries 
Show answer and explanation

Correct answer: B, C

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? 

  1. Option A:
    def "Character" (prepend payload = @character.usda@) { }
  2. Option B:
    def "Character" { prepend payloads = @character.usd@ }
  3. Option C:
    def Xform "Character" (reference = @character.usda@) { }
  4. Option D:
    def Xform "Character" (payload = @character.usd@) { }
Show answer and explanation

Correct answer: A

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.
See all 7 free sample questions