AssetInfo best practices?

While implementing a custom AssetResolver, I’m uncertain what types of data I should be using for the ArAssetInfo fields. I’m also interested in hearing what types of data people have put into the arbitrary fields that have ended up being useful.

  • The version string. Do people prefer a simple number here, like “17”, or should it be more of a fully qualified id for a versioned entity?
  • The assetName string. This is ambiguous in our pipeline because we have “asset entities” separate from versions and files. Would it be preferable to use a short descriptive name here, like “Short sword”, or should it be more of an internal identifier used to represent the asset or the referenced file?
  • The repoPath string. I didn’t see documentation for this, but I assume I can leave this alone. Or would there value mapping a directory path onto this field?
  • For custom fields, what has ended up being helpful for other workflows? I can imagine several, but am unsure if they belong in this AssetInfo? Perhaps “Shot Name”, and “Project Name”, perhaps some user “Comment” or “Description” fields?
  • Or have I already put too much thought into this minor details that most users haven’t found necessary?

Additionally, this seems a separate form of asset info that can be placed directly on prims with the ModelAPI. This also seems like a useful place to leave behind breadcrumbs about when the versioned usd file was generated. I could imagine a lot of potentially helpful information here.

  • The software that generated the published usd file.
  • Most of the fields from the above list, like shot name, project name, and asset name.
  • Source information, related to what other data generated this usd file.

Or is it better to place this information in more relevant fields, like comment metadata? Or should this published assetInfo metadata just be a copy of a subset of the ArAssetInfo?

Currently I can’t decide if it’s better to just keep the asset info minimal and concise, or if there’s value in collecting everything we can think of into both forms of the asset info?