I appreciate the feedback! I’ll share some more details in case it inspires other approaches. I’m more-or-less building an archviz tool, and in it nearly every single object can have its color changed. Right now, each object can have a unique, arbitrary color but that gets a little tedious when you want to change the color scheme of an entire space.
So in addition to being able to choose a color, I want to be able to have a selection of user-controlled swatches. The user could assign a seat, a wall, etc. all to the same color swatch (let’s say blue!). They’d all turn blue of course, and then if I change the swatch’s color to red, anything using that swatch would also turn red. It’s a pretty similar paradigm to what’s seen in a lot of graphic design software.
One approach is to have some global swatch entity somewhere and colored objects subscribe to its events. That would work just fine, and it was the approach I was originally taking, but it’s hard to ignore how well suited Material Parameter Collections appear to be for this type of thing, too.