Yeah, I’m also having the same issue! 😕
Yep, me too, lots of overrides lost which means lost information and broken layouts. Have you tried moving back the components and then restoring the previous version? If you restore it without moving them back it won’t undo the moving.
This feature seems to bring unwanted issues:
When I copy-paste a component from one file to another, the component behaves as a library component in the destination file — I can’t just edit it without detaching, but can “Go to main component in library” — even though none of the files are published as a library.
I would understand this “feature” to act as a lite version of a full-scale library, but if I change the “master” component in the first file, it doesn’t get updated in the destination file. So, unless it’s a bug, what’s the point of this behaviour?
It’s buggy on my side too 😥
Thanks a lot for making this possible even though it is a little bit buggy but still it saved a lot of my time. Grazie Mille.
(Note, that this is a solution for those who do not have access to external plugins within their company’s Figma Organization)
Not sure if this context helps. But, after having used the updated Figma approach to moving components to a new library. We found that this short-term pain point of overrides resetting after moving components was well worth it in the long run as we continue to scale our design system distribution initiative.
Although there is some work to be done fixing override resets prior to moving the components to a new library, you could duplicate the designs you have with components and detach them so override resets dont occur since you detached those components and then use those screens/component that are detached as reference to re-build the new screens with the componentized version.
Hope this helps!
This seems like way too much work and potential for error compared to using Master plugin Move master components from different files to a new library - #2 by Gleb 😃
You are correct! I did forget to mention that the company I’m working for does not allow for the use of external plugins and if they’re approved by the security team it may take months for plugins to get approved which is unfortunate in my case or else I would be using Master!
Ah, that’s a bummer. 😬 You might want to report the issue with overrides to Figma support as I don’t think it’s intentional that they are getting lost.
The new Figma solution to moving Master Components from one file to another seems very tricky and not as seamless.
- First we have to publish the component to a library which creates an unnecessary file/library
- Second you need to “Cut” the component and paste it into your library file
- Then go back to ur file and update the linking of the component
These are a lot of tedious steps to do just to move a component. What I wish was the case here is to Right Click on your Master Component and have the option to “Move to an Existing Library” option and you select the library from the window that you would like it to be moved to and Figma can do the linking in the background so that these instances are now linked to that library.
I know it’s easier said than done but I would have preferred it that way and unfortunately a lot of Designers design their components outside of their libraries to test how they can be used against the rest of the components and layouts.
Reviving this thread!
Has anyone moved many master components from one library A to library B, but then found all the text style and colours are still linking to library A?
What’s the way around this without having to add the styles to the new library and re-linking manually?
Well, that’s kinda obvious: you are moving components, not styles, so there is no reason for styles to be moved.
In the target file, use the native button that “Move style definition to this file”
We used “Move Style definition” to this file in the end which worked!
I think it is worth noting for people moving master components or merging libraries that moving the styles over first may be an important step if the components you are using don’t have styles supported in the new library and you want all your styles in one place, ie if you are deprecated the first library.
This has been a very insightful topic to follow! We are in the same position as Timothy above in that as an org, plugins are not allowed. Our DS also has the added concern of being mutli-brand, so the moving of our set of components has from their original library to a new one has to work the same across five different brands, all which then need to be able to swap three separate libraries with each other and retain the nested instance overrides.
We’ve tested with two brands to make sure the swap library function still works after migrating components, and it’s all fine aside from any instance swaps that have been made. Very frustrating, and would love to hear of anyone having any joy with this feature!
I don’t know if the way Figma handles this has changed but the way it was described in this thread and by Figma on Twitter didn’t work as described with our files. The other way around worked fine.
If you have an existing master file with components and designs:
- Publish the original master file as a library without changing anything
- Create a new file and connect the master file as a library.
- Cut the designs from anywhere in the original master file/library
- Paste in the new file - check that the component links work.
- Rename the old file as component library
- Continue working with the designs in the new file.
Worked for me after dabbling unsuccessfully with the original method.
Have you found any solutions? I have the same problem at the moment.
@Gleb Thanks for this. It worked AMLOST perfectly… For me it managed to find and replace all the relevant components, however, it left the layer on the file the same as it was?
Can you explain what you mean by this? What would you expect to happen and what actually happens?
It has gone through and changed the Button components to the correct version (v2), however, the layer has been left as v3.
Oh, that’s just the name of the layer, you can reset this override in the right panel. Master keeps all overrides, including layer names.
Nice! How do I do that all in one go for the 506 components in the file?
Ohhhh good question. Unfortunately Figma doesn’t have a way to reset a single override even through code (only all overrides). So the only way would be to manually change the name to match the main component. I found this plugin that can do that but there are also other plugins like this: https://www.figma.com/community/plugin/1118882302918088586/reset-layer-name
Also here is the little snippet of code I just wrote if you don’t want to reset all names in the file. Select an instance that already has the name you want. Then open the console and paste this code there, then press Enter to run it. This will find all instances of the same component in the file and rename them to the name of the instance you have selected.
var comp = figma.currentPage.selectiont0].mainComponent
var name = figma.currentPage.selectiont0].name
figma.root.findAllWithCriteria({types: e'INSTANCE']}).filter(n => n.mainComponent === comp).forEach(n => {
n.name = name
})
@Mario Hi! You can just use default Figma shortcut to transfer master component. Use this tutorial https://help.figma.com/hc/en-us/articles/4404848314647-Move-published-components