Skip to main content

The issue being faced today:

I want to have preferred values only show up under the instance swap feature. Not searchable in the assets panel, as these are typically sub-components that I don’t want to be used on their own (examples: a dropdown menu used in a global navigation component, the vector for an icon used to instance swap in an actual icon component to control the sizes via icon properties, a single segment used inside a donut chart, pre-configured links or buttons commonly used inside a bigger component to make it easier to select from a pre-set).

 

Why this isn’t possible:

  1. Unpublished and hidden components are treated the same in Figma.
  2. Hiding/unpublishing a component in Figma is currently the only way for it to not show up in the assets panel.
  3. Hiding/unpublishing a preferred value leads to additional issues:
    1. Preferred values cannot be selected by library consumers if they are unpublished.
    2. Preferred values must be published in order for updates to be available to library consumers.

The current workaround (that isn’t that great):

  • Leaving preferred values published which means consumers can grab unintended components for use from the assets panel, but this is necessary to continue receiving updates.
  • Or not use the preferred value feature in instance swaps, and relying more on creating additional variants with unpublished components that would have been a preferred value. And every time I need to update that component, I must publish, update, then unpublish the component again.

 

Related threads with this issue:

 

I discovered this today, I totally thought hiding the component would mean it would still receive updates


I discovered this today, I totally thought hiding the component would mean it would still receive updates

Yeah, I think it’s because a hidden component is not published and only published components receive updates in other files. I don’t quite understand why this is the case, as there are times where having a component hidden from the Assets panel is necessary (you don’t want them to be searchable). 

For example, any published components using hidden sub-components won’t receive updates unless the sub-component is also published 😓 Hoping Figma can change this someday


Yep, this would be great.

Currently, there is no way to streamline a component that has a lot of content variants without trade off:

  • Using preferred instances means building blocks need to be published and visible to consumers in a way that is usually not wanted.
  • Using surfaced properties from a nested component means no access to editing in a multiple selection

Having a big component with all variants remains the most user-friendly, but it’s heavy and annoying to maintain


Yep, this would be great.

Currently, there is no way to streamline a component that has a lot of content variants without trade off:

  • Using preferred instances means building blocks need to be published and visible to consumers in a way that is usually not wanted.
  • Using surfaced properties from a nested component means no access to editing in a multiple selection

Having a big component with all variants remains the most user-friendly, but it’s heavy and annoying to maintain

We have a few big components, but another drawback is the load time. I believe what it tries to do is load in every variant of the main component so that switching between the properties is faster. But it can get very laggy to drag something like that into the file. A benefit of sub-components in the first place is being able to make those widespread changes in a single spot. And if it’s made of multiple sub-components that get swapped in, it will load in smaller chunks when actually needed, resulting in less upfront lag.

 

Hoping more attention can come to this thread, as properly supporting instance swap for sub-component use (which seems to be it’s primary function) and being able to select what nested properties are shown would go a long way.