For the most part, everything authored with USD will travel with the USD file. The problem is that some USD clients may be missing USD schemas and plugins that will yield different results when you open the USD file in another client. I recommend using the USD Glossary for quick references: USD Terms and Concepts — Universal Scene Description 22.08 documentation. You can also save or convert your USDs as .usda
so that you can open them in a text editor and see what’s actually encoded. Some corrections and notes from your list:
- Metadata refers to additional key/value pairs that can be stored on prims or properties. More info here: USD Terms and Concepts — Universal Scene Description 22.08 documentation. Attributes and Relationships are not Metadata.
- Attributes with token type do not encode the full list of possible values. These are defined and kept with the schema.
- Relationships targets are just lists of prim or property paths (strings). The targets might not exist (e.g. not loaded yet, speculative or simply invalid).
- There’s no hard dependency with Relationships or loading of related objects.
- Tags are a whole system in OV that indeed require a Nucleus server and the Tagging service running on Nucleus.
- If you’re looking for something simpler than Tags, you can encode custom attributes and customData metadata.