Feature request: "Variant swap" within component properties

Right now if I use a subcomponent I can only add an “instance swap” which doesn’t help me a lot of the times.

For instance, if I embed a toggle component with an on/off variant there is no way for me to control that toggle switch at the parent level.

More info :point_down:


I think this is exactly what I am missing in Figma right now.
What I often encounter is the hassle to swap an icon within a button.

I like to make one icon component with variants, because I don’t like the cluttering when each icon is a seperate component.
The only ‘solution’ (more like workaround) is to drill down layers and swap the variant, like @Michael_Riddering describes.

So I would absolutely welcome the “Variant swap” property!

Visualisation of my desires:


This would be such a nice improvement to the feature!

1 Like

Agree that this should be a fast follow on the component properties feature. For a couple of components I’ve moved them out of variants to allow me to use instance swap properties instead, but that’s not really what I wanted to do for various reasons.


I have the same problem.

I have a design system that has a lot of components within components to make it modular and easy to use for the user of the ds.

For example: I have an ancestor button that is used within all other different types of buttons (to keep consistency and make it easy for changes all over the ds). In that button I have my label, which due to the component within component is not selectable with the text property from the top component.

Screenshot 2022-05-17 at 08.43.32

Making variant swap and other properties option usable within stacking component, should have been a feature that was shipped with this launch :slight_smile:

1 Like

Big :+1: on this one. One main thing that made me stop attempting to update some existing component sets.

Something else related to this - I don’t want to have to publish “internal” (hidden) components, just for them to show up at the surface/root level of the component props. I want to keep those hidden, but still allow them to be swapped on instances.

Thanks for posting this request Michael! :pray:

+1 on this feature! I believe Sketch had some nice symbol nesting swapping, and it’s something I’ve longed for in Figma since the beginning … even more so lately with component properties :slight_smile:

Came here to upvote this feature request!

+1 to this! Can’t figure out why we wouldn’t want to build our components like this. I’d love to hear what the Figma team thinks if they don’t plan on including it.

big plus one! we need this

+1 +1 +1 I was just trying to figure out what I was doing wrong and turns out it’s not possible! Definitely would prefer this over selecting from loose components on the page.

This would be so so helpful, I’m kind of surprised it wasn’t included with the instance swap update in the first place!

I have several releases within in Figma. And the newest Release should get a new library. But the swap does not work as the instances of the librarys components nested in instances who came from earlier Releases. So if I swap the library in the first release, everythings work fine. Also if I detach my screens from the old Releases and make new components it still does not work at all :-1:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.