Nested UI Components with Sketch

Lina Perepelitsa
SoftServe Design
Published in
4 min readApr 24, 2020

At some point, a large project scale can make you components-centred. But with a well-tuned symbols system, you can remain a designer instead of feeling like a zookeeper.

To understand the scope of our most recent product design project, just follow the numbers:

  • over 800 mockups linked into a single prototype
  • up to 8 designers on the team
  • 4 libraries with 980 Master Symbols

Let’s walk through some useful tips and tricks.

How to get everything out of Master Symbol

Layers Name

Use correct layers name to make the options in the overrides panel clear and descriptive

Layers Name is used for overrides panel to indicate the properties you can change. It means that if you want to easily find a needed property there, your button should have Button Name and Background properties instead of Button and Rectangle properties.

We renamed nested symbols too. For our page section with two charts, instead of having two properties called Charts/Placeholder, we had Chart1 and Chart2.

Layers Order

Keep the layers order logical to search needed property faster.

The layers order of your master symbol is used to order the properties in your override panel. Our navigation sidebar had 30 items going one-by-one in the same order, as they are shown. That’s why we quickly found the needed item just by hovering that sequence.

Layers Resizing Rules

Set up the resizing rules for each layer in your Master Symbol and your instances will be safe and sound

Think about how each layer should behave when you resize a symbol. Does it have a fixed width or height, or both? Does it change the position proportionally or stay pinned to any side of the Symbol? For a deeper dive on layers resizing here’s an article I like from InVision.

Smart Layout

Apply Autolayout for the group or for the Symbol itself to automatically resize the instances for any content

Smart Layouts, introduced and fully described by Sketch in #58 version, saved our lives. We could apply it both to Symbol itself and to layers groups inside.

Managing Overrides

Switch off all the overrides option you aren’t going to change. It will reduce the number of items in the overrides panel for your instances.

Want to get some love from your team? Manage your overrides! Usually, we’ve managed to reduce the number of override options by 2–3 times by switching off all the Master Symbol properties that we didn’t need to change.

What hacks worked

Use placeholders for highly variable nested elements

Create a Master Symbol with a nested placeholder. Change it through overrides panel of your instance to any other symbol.

Just create a symbol of the same size with any background and put it as a nested symbol. This works perfectly with:

  • icons
  • images
  • cards
  • charts
  • tables

Keep your Master Symbol in the most content-loaded case

If your Master Symbol has Autolayout, then you can remove any items from your instance and Sketch will automatically resize it

With No Symbol feature, you can remove the nested symbols. That’s why we’ve created Master Symbols with the maximum possible number of items and then customized instances for our particular case.

What didn’t work

Linking with Craft

Link with Craft your Master Symbol. All the instances will inherit these links.

Craft allows you to export the artboards to InVision with all the hotspots — but since you’re not able to select a nested button or tab, we’ve made that parent symbol local and then linked it right there. Just select the layer, press “C” on your keyboard and choose the page.

How we organized the library files

Our files structure

Why we kept all the Master symbols in separate files

  • Single source for the whole design team
  • You can control all the changes applied to instances
  • Minimal risk of symbol duplication

Why we used several libraries for a single project

  • Better search
  • Easier maintenance
  • Simultaneous teamwork for multiple directions

Why we detached symbols from master often

We’ve used complex multi-nested symbols like grids, charts, or page sections as a template that you can insert, make it local, and then customize it to your case. This approach allowed us to speed up new page design with existing components and maintain consistent spacing.

Useful Plugins

We’ve tried many Sketch plugins but these three worked best:

Know more hacks? Share some with us in the comments. 👇

--

--