Can you make an index with updatable nested instances of variants?

I originally posted part of this question as a problem here:

Which didn’t get any traction.

I didn’t describe the use, so I figured i’d ask the community here:

So the problem is i’m building an index.
Like this: Roma Publications

An index has a primary state, with a hover state and a slide out clicked state which shows an image container like the Roma reference above.
I’ve added images below to further illustrate the need

Where the nested instance of a variant needs to be updatable.
The problem is that only the base or ‘primary’ part of the variant can update. Not the nested instance. As you can see from this image below.

If I update the nested instance (the image part) of the variant (yellow) it always reverts back to grey (the parent variant). This doesn’t help when i’m trying to show the client an index with unique projects in the (clicked state) image container.

Would love a workaround for how to do this?

Theres also an example here of how the nested instance of a variant always reverts back:

So, you want to make a regular accordion, which should preserve the overrides.


The collapsed accordion variants must include the objects from the expanded accordion and are hidden in the layers panel.

Changing the color of effects (hover, focus, pressed, etc) must be done in variants, and not overridden in instances.

Thank you.

So for anyone else figuring this out. With the info above, the only solution is to duplicate the whole variant for each ‘project’ (row in the accordion index).
There’s no way to keep a nested instance such as a clicked state unique without reverting to the primary state.
To be fair having multiple Variant sets for each ‘project row’ isn’t too much of a pain. Less tidy. But it works.

Why create a variant for each “project”?

It’s possible, but you’ll need to add additional layers to your variants. See answers in this thread: Color override goes crazy when I place my graphic element in a component.

Thank you for the reply I really appreciate it.
Unfortunately I still - even following the above – can’t get it to work.
Test file here:
It’s editable so feel free to dive in and let me know where i’m going wrong?
Again - I really appreciate your help.

Your problem is that you were controlling the visibility of the fills, not the layers. I created an “accordion” component set in your file so you can compare side by side with yours.

Also your component does not contain nested instances.

You’re amazing. thank you this makes sense now that I see it. I tested myself to make sure I understood and it’s clear as day now. Hide the Layers not the Fill as you said!
Thank you, Thank you, Thank you!

PS Your handle should be FigmaGod666.