How Figma's 2020 Variants update disrupted a Google Sheets Sync workflow for localized component text, and what the tradeoffs revealed.

In late October 2020, Figma released an update containing the highly useful Variants feature. It has many strengths; see the video below.
VideoThis document, however, focuses on a side effect of the update.
⚠️ It made the Google Sheets plugin significantly less usable. If you did not use this plugin, the impact may not be obvious.
- If you are unfamiliar with the
Google Sheets Syncplugin, see https://www.figma.com/community/plugin/735770583268406934/Google-Sheets-Sync.
Before the Update
- You could freely rename layers inside a Figma instance.
- The
Google Sheets Syncplugin could bring spreadsheet text into Figma. This required the text-layer names in Figma to match the sheet's column names. When using components, you could rename a text layer inside an instance to match the specific data you wanted to sync. - By combining this with reusable components, you could keep one main component and manage multiple text versions simply by renaming layers inside duplicated instances.
- This was especially useful for managing one project in multiple languages.
After the Update
- The introduction of
Variantschanged component naming rules. You could no longer rename a layer inside an instance. - To manage text with
Google Sheets Sync, you now had to set the text-layer name in the main component. - A main component may already be used very broadly. Changing it with every use case in mind takes a great deal of time.
- In an active project, the fastest short-term response is to
detachevery relevant instance and rename each text layer manually before syncing the sheet. - But detaching naturally removes the benefit of linked components. Regardless of Variants itself, managing text through a sheet now takes more time than before.
A Solution?
- Unless Figma rolls back the change, the existing process cannot continue unchanged, because Figma is a web-based tool.
- The workarounds are not simple either.
- Name layers with Google Sheets in mind from the moment the main component is created.
→ This could require a design-system-wide refactor.
→ It also prevents using developer-oriented naming for that component.
- As described above, detach every instance in a project that needs Google Sheets.
→ Figma does not offer a bulk detach action, so deeply nested components make detaching very time-consuming.
→ Once everything is detached, it can no longer be managed at the component level.
Insights
- Because Figma is web-based, users always have to follow the latest update. That is fine when every update is beneficial, but a change that conflicts with an established process becomes a real operational risk.
- It is especially important to remember that plugins are not developed by Figma itself. Plugins are useful, but a Figma update can sharply reduce their value, as it did here. Unfortunately, I do not have a good solution.