Skip to main content

Is there way to find all detached nodes in the file ?

No, detached instances become regular frames, they don’t contain any info about their previous state of being instances.


The only thing that comes to mind is you can use version history for that, but if instance creation and detachment happened within one version, then it won’t be possible to detect.


There was a nice tip from Uber’s team on the last Config – adding Signature pixel to each component, that stays there also if the component is detached. Check it here. It could help for what you want to achieve.


That’s exactly how we do this. But I was looking for something built-in for the components without any trackers inside. Thank you!


Is there anywhere to read up on how how Uber did this? I’m trying to implement the same thing for our our design system at New Relic.


It’s about keeping a node with specific name, when you can scan these nodes and check if they are in instance or not to mark it as detached.

Check youtube video " Using Figma to go beyond Figma - Dylan Babbs, Vietanh Nguyen (Config 2021)" (can’t use links in the forum 😢)


We have a similar way, but a bit more advanced


I’ve been watching that video on repeat this morning trying to discern how they did it. As far as I can tell, you’d need to be able to access and get the contents of every file in the organization to make this work, but the Figma only allow you to access files that you have the fileID for, right? I’m hoping I’m incorrect about that, but that’s the best I can see.


Has your team written up anything about how you pull this off?




Edit: I think I got it. You get all files of a project by providing the team_id then you get all of the files in that project.


Have you run into the issue where the file your scanning for detached components is too big and your API request times out? If so, how have you gotten around this?


I can see that Figma shows that an instance was detached and it can also be traced back by going to main component


Even in analytics the components leave some breadcrumbs behind by showing detached.


How can we use this to scan a frame/page/files for detached components? 🤔


I made a plugin that can help you find detached instances:


https://dominate.design/detached


It’s free to use to find them but if you wish to reattach them using smart Master plugin algorithms it’s paid.


Is there a way to do this instead of tracking hidden pixels? or any other alternatives?



@Gleb thanks for your response and offering the plugin this can be helpful for my individual use. for my official use, the use case is different, so exploring if there is a different way to find all the detached instances…


Can you explain how your use-case is different?


I want to identify the detached instances and run a few other checks on them to make sure they pass our internal design standards… ideally when someone uses our components as is, they are passing our design standards if they are not using and they detach the components we want to run additional checks to pass them…


With my plugin you can find detached instances, navigate to them, select them, and then you can run all the necessary checks (I imagine you have your own tools for that). Is there something else I’m missing?


Not trying to sell you my plugin, just trying to understand what the issue is and potentially improve it in the future.


Yes, it should work if I am the direct user and and I am the only one doing this. But this is a design process where we would like multiple teams consuming our DS to follow, so we are looking to write our own plugin to do the identification and then add the design checks on top so that it becomes a single plugin internally, and the design checks could vary based on different components. If not we need to ask them to run 2 plugin 1 will be your plugin to identify and then our plugin to do the design checks.


Looks like this could be of some help FrameNode | Plugin API , may be this is available only in Plugin API and I was looking for it inside REST API and trying to MVP the plugin with REST API first…


Thanks it very helpful.


Great.


Reply