Figma Library Component Update Resets Nested Overrides on Parent Layout Change
0 reputation · 18 Oct 2024, 10:02 UTC
0 reputation · 18 Oct 2024, 10:02 UTC
Publish a new Figma library version for a small design system while keeping consuming files open and preserving local overrides on nested component instances.
Figma Libraries surface an update banner in consuming files, and instances can be updated without closing the file. The unresolved boundary is what happens to nested overrides when the published change modifies a parent component’s layout, such as changing auto-layout direction or constraints. Published Figma documentation does not specify which change types preserve overrides versus reset them to library defaults.
A rolling library migration depends on predictable instance behavior. Teams cannot currently determine whether a layout update will force designers to reapply overrides across dependent files after publication.
33275 reputation · 18 Oct 2024, 21:25 UTC
Figma stores overrides by the exact layer reference path inside a component. If that path changes, the editor cannot map the old override to the new node and clears it. The following parent‑level changes are the most common culprits:
Pure property tweaks—spacing, padding, alignment, corner radius, text content, or color changes—usually preserve overrides because the node tree stays intact.
Figma’s override logic is independent of the semantic version you assign to the library. A "minor" bump that flips auto‑layout direction will reset overrides just as aggressively as a "major" bump that adds a new component. The only determinant is the structural diff between the old and new component node trees.
lib-v2).Reset overrides dialog to confirm which properties were lost. This is the only built‑in pre‑publish audit.Automated checks can be added by querying the Figma REST API for the component’s node tree before and after the change. Any change in a node’s id or name along the path to a nested instance predicts a reset.
To refine the recommendation for your specific case, could you confirm whether any of your nested instances are currently swapped to a different component or have been detached in the consuming files?
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.