Symbols within symbols. It's symbol inception.
This tutorial will share 3 quick and easy time saving techniques using Symbols in Sketch. Aimed at users coming from an Adobe background, this guide will show you only unique features exclusive to Sketch that are not available for Smart Objects in Photoshop.
Symbols are objects or groups of objects in Sketch which can can have multiple instances throughout your document. When you make changes to a symbol in Sketch, all of the instances of that symbol are updated to reflect the changes.
If you are familiar with Photoshop, they work in a very similar fashion to Smart Objects. Symbols in Sketch do however have a few benefits over Smart Objects which can be real time savers when you are working on big projects. In this tutorial I will explain 3 ways that you can use Symbols to speed up your design workflow.
The built in functionality of Sketch allows you to override values of text layers within in a symbol. This is a feature that is currently exclusive Sketch, so for those coming from an Adobe background may be a pleasant surprise.
First things first, let's create a basic button symbol in Sketch. Start by launching Sketch and creating a new document.
Select the Rectangle shape tool (R) and draw a simple 220 x 64 px rectangle. Set the fill color to #E7ECF1 and round the corners to 32.
Use the Text tool to add a new layer and type out the word 'Label', set the fill color to #363636 and then center align the text and rectangle layers horizontally and vertically.
Select both layers, right click and choose Create Symbol. Give your symbol a name and then select it again.
You should now notice that in the sidebar there is a section called Overrides with an option to enter a new value for the text label.
Nesting symbols allows you to have a symbol within a symbol. As you would expect, any changes made to the nested symbol will be reflected not only within it's containing symbol but anywhere else that it appears in your document. Seems pretty straightforward, but again for those coming to Sketch from an Adobe background, this will be a big time saver.
Double click into your button symbol, move the Label text over to the right side slightly and paste in or draw a new icon. I'm using an icon from the Linia - Vector Line Icons set.
Select your icon and right click then choose create symbol. Enter a name for the icon symbol and click OK.
That's all there is to it, you now have an icon symbol nested within a button symbol. The fun part is what comes next..
This one is my favourite way to use Symbols in Sketch. After nesting symbols it is possible to switch out nested symbols and replace them with other symbols in your document. The perfect example of this is when you have a button symbol with a nested icon symbol and you want to reuse that button elsewhere in your document, but with a different icon.
Go to the Symbols page (this is where all your symbols live and is automatically generated by Sketch) and paste in or draw a new icon. I'm using a heart icon from the Linia - Vector Line Icons set. Right click the icon and create new symbol.
This is a very important step. On the Symbols page, select the artboards that your icon symbols are on and make sure they are the exact same size (in this case 30 x 30 px). Setting the artboards to the same size tells Sketch that these icons are interchangeable.
Go back to the main page and select your button symbol again. In the Overrides section you will notice that in addition to the text label, you can now choose which icon you want to use from a dropdown menu.
Choose the other icon, and update the text label if you want. You can now have multiple instances of this button, each with unique text labels and different icons. Any changes made to the button shape or text style will still update across all icons without affecting the overrides.
As I've mentioned throughout this article, although these seem like relatively small, simple features. For any designers coming from a Photoshop background they demonstrate a whole new level of flexibility over Smart Objects. When used correctly, these tips can make your design process much more efficient and save you time over time.