# Collections and overs

**URL:** <https://forum.aousd.org/t/collections-and-overs/2063>\
**Category:** USD\
**Tags:** composition\
**Created:** [December 5, 2024, 4:42am UTC](https://forum.aousd.org/t/collections-and-overs/2063 "2024-12-05T04:42:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![alantang](https://avatars.discourse-cdn.com/v4/letter/a/ad7895/32.png) [@alantang](https://forum.aousd.org/u/alantang)\
**Post date:** [December 5, 2024, 4:42am UTC](https://forum.aousd.org/t/collections-and-overs/2063/1 "2024-12-05T04:42:44Z")

</div>

From what I’ve been reading, it seems that without resorting to code (querying a collection’s members and programmatically modifying each member), the only thing you can do to collections in a USD stage is bind them to materials.

Is there anything else that can be done? I would love to be able to do overrides like this:

```auto
over "CollectionsPrim.collection:stuff" {
  token visibility = "invisible"
}

```

Is something like that possible without code?

---

<div class="post-metadata">

**Author:** ![spiff](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/spiff/32/22_2.png) [@spiff](https://forum.aousd.org/u/spiff)\
**Post date:** [December 6, 2024, 12:10am UTC](https://forum.aousd.org/t/collections-and-overs/2063/2 "2024-12-06T00:10:18Z")

</div>

Individual schemas can impart behavior to collections, just as the `MaterialBindingAPI` does. `LightAPI`’s builtin `lightLink` and `shadowLink` collections provide a specialized form of visibility override for light and shadow rays, driven by collection.

We have been discussing for years generalizing that capability to a more generic visibility schema that would contain potentially two collections and a “type of visibility” for the first set of objects to state with respect to the second set… much like [MaterialX’s visibility element](https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/documents/Specification/MaterialX.GeomExts.md#visibility-elements). I do think we’ll get there eventually, but I would **not** expect to see any more general way of attaching arbitrary overrides via collection - that would break USD’s composition system in unsustainable ways.
