Skip to main content

We have a Design System with parent components composed of nested instances.

Both parent components and nested instances are in the file “A”.

To avoid having thousands of components available within the Assets when publishing the library, the nested instances are hidden with “.” at the beginning of their names.


The problem:

When using the component library from file “A” in file “B”, everything works fine.

The issue arises when a nested instance from file “A” requires an update.


Firstly, it does not allow me to publish the nested instance update without removing the “.” from its name, and I also cannot publish the parent component containing the updated nested instance.


If somehow I manage to publish the parent component, file B will prompt me to update it, but the updated nested instance does not receive the changes made.


Is this a bug?

Or what is the correct way to work, update, and publish nested instances so that they always receive their updates without cluttering the Assets library with nested instances components that are not allowed to be used by themselves?

The only way I’ve found to solve this is by publishing everything, and I mean EVERYTHING in the library, both nested instances and parent components alike… But again, this solution isn’t the best since it saturates the Assets library and confuses users about which components are allowed and not allowed to use…


Hi @Fede_HP - I went and consulted our support team for context on this, and received the following info:



In the case you have a nested instance of a hidden component in your main component, the changes you make locally to the hidden component would show in the main component, but you wouldn’t be able to publish those changes and accept them in subscribed files unless you unhide the hidden component.




Hiding components hides them from being published, and the changes made to the hidden component will not have been pushed/received in the subscribed file.




The imported component (stored in the subscribed file), which is referenced to create instances of that component in the subscribed file, and referenced by any components that have a nested instance of the hidden component, would therefore still show the old appearance/structure.



So this is an expected behavior – understand that this may all be confusing. Feel free to drop additional questions here or reach out to support direcly by emailing support@figma.com.


I face a similar issue as Fade_HP as in the nested components not being updated. If I understand the reply from the support time correctly when we create an instance of a library component with nested sub-components in a file Figma creates a local snapshot/cashed version of the library component including its nested sub-components.


When then the library component is published and accepted in the file, the local snapshot/cashed component is updated but not the nested sub-components within.


If this is how it works, is there any way to trigger a “full” update of the component including the nested sub-components from the library?


I’m also experiencing the same issue and am pretty reluctant to un-hide the hidden components when the usability of our system relies on the ability to hide nested components within a master component.


I wouldn’t say that this is the expected behavior. There’s no indication that hiding a component will stop any updates from being fed through.


In fact, when you hide a variable for being published, you can’t access it outside of the library file (expected), but if you update the variable (still hidden) and publish the update, the reference will be reflected in other files - so the opposite of the component pattern you’ve described.


As @Simon32 said, it’d be great if there was a way to do a deep update that include hidden nested components. It seems like this might be an oversight, rather than necessarily the intended behavior.


I am experiencing this issue and it is a problem. In my use case, and I assume for many others, I hide components within a library so that on their own they are not available for use to prevent unnecessary clutter.


However, if I update a hidden component that is used within a public component in the same library and it does not update, that is not an accurate reflection of the parent component.


Yes, this was what I tried to achieve as well. I hope there will be some kind of solution to this in the future because it’s quite annoying.


Reply