Hello, I am looking for some advice on how to correctly swap symbols in a design system.
Now that since Athens was released, a lot of old plugins do not work anymore (a shame, to be honest),
there’s a task I was doing with a plugin that has become impossible to my knowledge.
I wonder if this task is possible natively.
The scenario is the following:
• I have a library file including two symbols : symbol A and symbol B
• Several documents use those two symbols from the library.
• I want to delete symbol B and relink all the instances to symbol B onto symbol A, so that all the document using symbol B will now reuse symbol A, without them being detached.
How I was doing before
I was using the plugin Symbol Swapper by Jason Burns.
• I could select symbol B, and use the plugin to replace this symbol by symbol A (I could even select a symbol from any available library)
• Then the symbol B was removed from the library document.
• When update was proposed in documents, all instances of symbol B were correctly replaced by instance of symbol A, and nothing was detached
Does anyone know a method to do so in Sketch ?
Thank you very much in advance for your kind help
We’ve been discussing what would be the best way to work around it, and it would depend. If you want to discard Symbol A in favor of Symbol B and there’re not instances of Symbol B around (or not many), you just can replace the contents of the Source Symbol A into Source Symbol B and rename it.
However this could make things complicated, since that would require extra work and maintenance, leading to unexpected problems.
Another quick and dirty fix (I wouldn’t call it a workaround) would be to empty the Symbol Source A contents and add an instance of B to it, creating basically a nested Symbol. If (and that’s a big ‘if’), you’re in a hurry, that might work for you.
In any case, I’m filing your case internally as a feature request that I’ll bring to the Product team so we can discuss about it.
Really, swapping a symbol with another should be natively available in Sketch, it’s very important task when maintaining a design system. Before I never complained because there were (very old) plugins doing this, but now all those plugins do not work anymore since Athens update.
Likely not the answer you’re looking for but until Sketch implements a native solution for this I found that MCP is a great way to accomplish this and many other clean up tasks (merge duplicate text-styles or layer styles, colors, listing # of usage for various symbols or text-styles, finding and deleting unused symbols).