The new video series from Luis Ouriach on variables. The first part introduces the basic concepts and terminology — variable types, collections, modes, and aliases. The second part is “The 3 levels of variable” where Luis explains the definitions of primitive, semantic, and component-level variables. The third part focuses on creating your first variables and using modes to manage theming and densities.
“Using variables in your Figma libraries? Learn how to set a default mode for a library that applies to all of your teams and files within a workspace.”
Molly suggests it’s time to support multiple icon sizes with number variables.
Q: Are icon wrappers still worth using?
— Molly Hellmuth (@molly_hellmuth) February 8, 2024
A: I don’t think so. A much easier way to support multiple icon sizes is with number variables!
Here’s how.. pic.twitter.com/Ue3n9FKYUB
Chad shows how to use variables to change a variant on a component instance in your designs.
Cool prototyping technique built on variables.
here is my most-used @figma variable prototype logic — infinite timed loop ➰, do lmk if I should post more of these! pic.twitter.com/Ldw45ByXCm
— Nitish Khagwal (@nitishkmrk) January 27, 2024
A new plugin from Designer Advocate Hiroki Tani for generating color variables from the palette on canvas. It creates a collection from the section name, modes from nested frames, and variables from rectangles.
Chad shows how to use variables to change your variants on nested component instances when setting a mode.
Did you know that you can use variables to change your variants on nested component instances when setting a mode in @figma? Here's a quick tip showing it in action!
— chad (@dotdude) January 18, 2024
Are you already using variables with nested instances in your design files? I'd love to see what you're making! pic.twitter.com/z2YXNccqPt
Luis wonders whether variables scoping provides enough semantic modification to justify removing explicit “background”, “border”, and “text” color variables. “What’s stopping us from maintaining a single, primitive set of variables, named as such (e.g. red-300) to match your developer’s framework, relying on scoping alone to bridge this gap?” (See the discussion in this thread on X.)
I also like this take from Nate Baldwin — primitive color palettes are inherently semantic because every lightness stop is knowingly created to be used for specific use cases. He supports this idea with examples from his work on Adobe’s Spectrum color palette.
You can now select incompatible modes on layers, to make it easier to diagnose layers that aren’t able to use the mode (via Jacob Miller).
The Designer Advocate team recently hosted another Office Hours AMA focused on the use of variables in Figma. Watch Lauren Andres, Luis Ouriach, Chad Bergman, and Shana Hu discuss nested instance variant binding, applying boolean variables, and a few related questions.
Using variables to create a night and day version of the same illustration. Love this approach!
Had some time to make an isometric Japanese 🫖 tea house in @figma for fun.
— Dallas Barnes ☀️ (@DallasBarnes) January 3, 2024
This was realllly just an excuse to use variable collections/variables in FIgma in order to create a 🌙 and ☀️ version of it. pic.twitter.com/aDL3IzHcZh
Miggi goes over all of the basics when getting started with variables and modes for your design layouts. “Explore what it takes to use variables to create a dark and light mode experience, change the density of your spacing, vary the languages your design UI can accommodate, and so much more.”
How to preserve a button’s volume across multiple themes? Ridd suggests combining brand variables with a style wrapper for reusing gradients.
We all want those juicy buttons 🤌
— Ridd 🤿 (@ridd_design) December 19, 2023
But how do you add texture while maintaining themeability in @figma ?
Here's a quick breakdown 👇 pic.twitter.com/MslvJ27mKz
A super useful video from Akbar, a Developer Advocate at Figma: “Want to sync your Figma Variables with your codebase? In this video, we’ll show you how to use our Variables GitHub Action example repo to sync your Figma Variables to your codebase and vice versa.”
Sho Kuwamoto on variables and simplicity: “The obvious way to make things simpler is to remove things. Or maybe hide things. But one of the surprising aspects of simplicity is that sometimes, in order to make things feel more simple, you have to add more stuff.”
Jacob Miller, a Product Manager on the Design Systems team, unpacks the new features and answers questions about variables: “Our latest updates to variables in Figma allow for even more flexibility with updates to stroke weight, effects, layout grid, and layer opacity, along with nested instance variant binding. These upgrades not only boost design customization, they help align design and code like never before. Here, we share an overview of what we’re shipping with variables, how to use them in your current workflow, and where we’re going next with typography.”
Not mentioned in the article, but my favorite update is that now the variables authoring window can be resized! See also this thread by Luis, and Hugo’s accurate summary of the community’s reaction.
A short tutorial from Figma on using variables, interactive components, and conditional logic to build a prototype. These advanced features help prototype faster, reduce memory usage, and minimize maintenance time.
Christine Vallaure explains how to use boolean variables and modes to reduce the number of necessary components. One important caveat: “I would always recommend adding a documentation sheet to avoid confusion as per default, only the first mode will be displayed, and in development mode, hidden elements are not highlighted.” See also a second thread on using variables to trigger actions in prototypes once a specific threshold is reached.
1/5 Instead of setting up a variant for every breakpoint, we can use boolean variables in #Figma to drastically reduce the number of components needed.
— Christine Vallaure (@moonlearning) November 7, 2023
For instance, if we're working on a navigation menu that switches between a burger menu and links, here's what you can do: pic.twitter.com/akjo9UcHDA
A solid roundup of the design systems resources from one of the most respected conferences.
On Enterprise plans, workspace and team admins now can set default modes for a variable collection. This allows new files to open with the default variables modes set by the admin.