Finding Missing Library components/styles

Why is this still not implemented? Even if there was a break link to component option, that would be so much better.

I fixed names between library versions, and need a map to a new name style.

OK. I might have found a really terrible work around until Figma can figure out a find and replace or detach option. Considering it’s been 2 years, not holding my breath.

  1. Create a new temporary library.
  2. Create missing styles with the new name.
  3. Relink to this new library
  4. Once everything is synced. Update the naming to the proper name.
  5. Cut the styles from the temp library
  6. Paste them into the new library
  7. Relink to the new library
  8. Sync and then delete them.

You’ll still have a bunch of orphaned styles, but you’ll stop seeing missing styles.

I’m also using a temp file while I migrate old to new updated variables version. So I’m copying things over to a temp doc to swap libraries before I move the components or layouts into my new document.

Isn’t that similar to what was marked as the best answer?

The main difference with yours is you’re suggesting creating a new library. But most folks already have existing libraries. Is that a fair comparison?

I solved it with this plugin:

2 Likes

Fantastic, thanks for sharing!

1 Like

This worked. For text, i pumped up the text size to like 2000 and it really stood out.

Selecting ‘everything’ on a page only selects what is visible. It won’t find the same thing in hidden layers, so if your components are set up with multiple choice layers, you have to make changes at the component level, and cross fingers that you didn’t detach any of your instances.

A great solution! Thanks, it helped!

Its great, I was able to solve my problem easily

I was trying this approach to find lost text style (see below), but the script crashes and I get a strange error message :thinking:

Code tried:

figma.root.findAll(n => {
    var style = figma.getStyleByIdAsync(n.textStyleId);
    if (style) {
        console.log(style.name)
        if (style.name === "Body/Highlight/Body Tiny") {
            figma.currentPage.selection = [n];
        }
    }
})

Error message:

figma_app.min.js.br:976 Uncaught Error: in findAll: "findAll" callback crashed: in getStyleByIdAsync: TypeError: Cannot convert a Symbol value to a string
    at DocumentNode.findAll (figma_app.min.js.br:976:4044)
    at <anonymous>:1:12

However, it looped through a lot of content where the console gives me undefined before it crashed. I’ll assumed that is correct.

Hi everyone!

I was having a huge problem trying to find where some missing color styles were to fix them and I just found a weird away around that, but Figma should implement an easier solution.

Steps

  1. Make a safe branch/version history
    (this solution requires temporarily deleting things, so you should have a safe backup to go back to)

  2. Deleting Pages in Bulk
    Basically I started deleting pages in bulk to try to narrow down which page the problem was coming from.
    What you do is keep the Assets/Library open and observe if by deleting some bulk of pages the Missing Library goes away. If you have more than 1 missing style, go inside it and see if that one specifically goes away by deleting the pages. You will do this every step.
    My file had about 30 pages, so I divided in blocks of 10.
    I could see that deleting one block specially solved the issue, so I figured that’s where the problem was.
    Go back to the Safe version.

  3. Deleting Pages Individually
    Here, you should narrow down in which page or pages the issue is coming from.
    Luckily from me, it was only one, but if it’s in more than that, you should do an elimination process to narrow down which ones have still have the problem.
    Go back to the Safe version.

  4. Deleting Components/Frames
    Here I wasn’t so lucky, as it seemed all 3 components on the page had this issue, but I at least knew that for sure.

  5. Deleting Groups/Frames inside the Component(s)
    Again, you try to narrow down in each component in which part the problem is coming from. Lucky for me, these components had the same structure, so all 3 of them the missing style seemed to come from the same one.

Go back to the Safe version.

  1. Deleting Layers
    Here is to narrow down which layers have the missing style.
    In my case, it was a text layer. Oddly enough, looking at the selection colors of it (there was two), none missing style were shown, not even something with the same hex color.

After that, I knew for sure these text layers, for some reason, had this missing style, even if it didn’t show anywhere, from selection colors, plugins like similayer or Missing Library Usage Finder. Whenever I deleted only them, the issue went away.

So I just made a new text layer from the scratch and substituted in the components.
Voi lá, no more Missing Libraries.

It’s a hassle, but it worked for me.

tl;dr: When plugins like Missing Library Usage Finder don’t work, in a safe branch or version history, try deleting things until you can narrow down in which layers this “ghost” style is coming from. Delete them, even if it doesn’t appear to be using the missing style.

Hope that helps somebody.

1 Like

after tons of plugins this was the only way around for the last ghost style :slight_smile: THANKS