Replace a layer with component

We recently migrated into Figma and imported all our sketch files. I created a solid DS in Figma. Now the problem is, while working on old files, It’s hard to remove a layer and place the component at the same place.

It’s been so much annoying and it’s a life saving feature to have something like replace layer with component.

Do you also faced same problem ? Please help me out if you have a workaround or plugin that eases this.

10 Likes

I made plugin Master to solve exactly this problem (and some more). There are some other plugins with similar functionality but assuming you want to replace “real” layers (not just rectangles or other placeholders), you want to save data and overrides in them, which only Master can do. Here is how to do it:

  1. Select the component or instance of the component you want to attach the layer to.
  2. Go to Master → Pick Target Component. Master remembers this component.
  3. Select layers you want to replace with the component and run Master → Link Objects to Target Component.

Here is a video showing all Master plugin capabilities in action:

6 Likes

This is a powerful plugin for sure. But I am currently looking for even more simple approach like the Component Replacer. It’s actually deleting and placing a new component. That works half way but I am looking for direct replacement.

Hey I just submitted a plug-in that does exactly this (if I understand your situation correctly), it takes several days to be approved but I’d love to share it with you when it is.

My plugin turns the selected layers into an instance and creates the main component at the root level of your page. It handles all kinds of tricky cases like layers spread between multiple containers, and maintaining constraints from the child to the instance.

If you’d like to beta test it I can arrange that.

4 Likes

What’s the difference between direct replacement and deleting and placing? This is the only way replacement can be done.

1 Like

Yes, the only drawback of that is, it places that instance on top of all the layers. I have to manually adjust the layer position. That’s the only drawback.

1 Like

That’s great and I’d love to test it.

I am looking for something like

  1. I select a layer
  2. Open plugin and search for component from my library
  3. I click on save and that instance is replaced with the selected layer.
7 Likes

Ooh ok, I think your use case is different than what my plugin provides, but I think there are a few others which attempt to do that. They should be able to insert the new instance right where the selected layer was too.

1 Like

Hello @harsha20599 , did you find a plugin? I need to replace many (background) Frames into an existent (background) Components and this is really annoying

I’m sorry Altair. No luck until now. I Hope @Figma comes up with a solution for this!

2 Likes

Did you find a solution? As of right now I am grabbing the component I want from my linked library, then selecting the layer/group I want to replace, and using the new “Paste to replace” feature

2 Likes

Maddy, this is the best way to do it as of now if you don’t care about keeping overrides.

1 Like

Unfortunately Master doesn’t work when you try to replace an object with a component from an external library.

1 Like

It should. Select a component published to the library, run Master → Pick Target Component. Then select objects you want to replace and run Master → Link Objects to Target Component.

If something isn’t working, send me an example here or to gleb@dominate.design so I can investigate what could be wrong. A video recording of your actions and links to files would be perfect.

I love Figma but goddam if they couldn’t just include a Replace… or Replace With… in the right-click menu like Sketch.

13 Likes

Our team is planning a transition to Figma, and I’m coming across this issue over and over as I rebuild our pattern library. Replace with... is one of the primary features I use for curating and building components in Sketch, so this is a huge friction point for me.

Figma—please tell me this feature is in the works. :pray:

1 Like

@Sarah19 Check out Figma’s “Paste to Replace” functionality. I think this will help. Here’s a link to the Copy and Paste Playground Figma Community file:

Play with the examples to get the hang of it.

4 Likes

Thanks! I did discover this tool and it is helping.

The paste to replace doesn’t work if it’s a group / frame to be replaced right. It only works with image I guess. Is there a way that I can replace a group in a component? Thanks!

I just released a plugin, where you can select a frame and replace it with a component and keep the original text from the frame. Only requirement: The original frame and the component must have the same amount of text-frames:

This Plugin also helps of you want to reattach a detached instance of a component.

1 Like