Proposal
Keep Arena’s current tags API for backwards compatibility and fast asset discovery, while adopting UsdSemantics as the durable, interoperable representation for asset and scene semantics.
Arena should be able to read and index semantic labels from USD assets, and optionally author labels onto spawned prims for legacy assets that do not already contain them.
For example:
apiSchemas = [
"SemanticsLabelsAPI:category",
"SemanticsLabelsAPI:disposition",
]
token[] semantics:labels:category = ["food", "fruit"]
token[] semantics:labels:disposition = ["graspable"]
### Motivation
Arena currently stores tags such as graspable, openable, and food only on Python asset classes. These are useful for registry discovery, but do not persist with the USD asset or composed scene and are not available to USD-native consumers.
Using UsdSemantics would enable durable semantic queries, interoperability with synthetic-data and scene tooling, and a clear distinction between an object’s category and its affordances/disposition. It would also support prim-level semantics: for example, a cabinet may be disposition=openable, while its handle is disposition=graspable.
Many SimReady assets may already carry `UsdSemantics` labels. If Arena reads and indexes those labels, users can discover and select assets by category or disposition without writing duplicate Arena-specific Python tags. This speeds up users’ workflows, makes Arena immediately compatible with existing semantically labeled assets, and reduces metadata drift between the USD source and Arena’s registry.
### Alternatives
Continue using Python-only flat tags. This is simple and preserves the existing API, but semantics remain Arena-specific, do not persist with USD, and cannot represent different semantic concepts or functional sub-prims cleanly.
A compatible incremental approach is to retain tags as an adapter or cache derived from USD semantic labels.
### Build Info
- Arena Release: v0.2.0
### Additional context
Related documentation:
- https://isaac-sim.github.io/IsaacLab-Arena/release/0.2.0/pages/concepts/scene/concept_assets_design.html
- https://openusd.org/release/api/usd_semantics_overview.html
- https://docs.omniverse.nvidia.com/extensions/latest/ext_replicator/semantics_schema_editor.html
- https://docs.omniverse.nvidia.com/kit/docs/omni_replicator/latest/source/extensions/omni.replicator.core/docs/API.html#get
### Checklist
- [x] I have checked that there is no similar issue in the repo (required)
### Acceptance Criteria
- [ ] Arena can read/index relevant `UsdSemantics` labels on registered USD assets.
- [ ] Existing AssetRegistry tag queries remain supported through a compatible mapping or adapter.
- [ ] Arena can optionally author semantic labels onto spawned prims when source assets lack them.
- [ ] The supported semantic label instances and Arena tag mappings are documented.
Proposal
Keep Arena’s current
tagsAPI for backwards compatibility and fast asset discovery, while adoptingUsdSemanticsas the durable, interoperable representation for asset and scene semantics.Arena should be able to read and index semantic labels from USD assets, and optionally author labels onto spawned prims for legacy assets that do not already contain them.
For example: