Skip to main content
Question

Enable Collection Switching for Variables in Figma

  • February 18, 2025
  • 4 replies
  • 134 views

golovcovadim

Description: Currently, Figma allows switching between different Modes (e.g., Light/Dark) within a single variable collection. However, there is no built-in functionality to switch between entire Variable Collections dynamically. This limitation makes it challenging to manage multiple themes efficiently, especially in large-scale design systems where different themes (e.g., Default, Gaming, Minimal, Custom) share a common structure but require separate sets of values.

Proposed Feature: Collection Switching

We propose adding an option that allows users to switch entire Variable Collections in the same way they can switch Modes. This would enable designers to define multiple themes and toggle between them seamlessly without needing to manually update Aliases or duplicate components.

How It Would Work:

  1. Collection Selector: Similar to the Mode switcher, users can select a Collection (e.g., Theme 1, Theme 2, Custom Theme) from a dropdown in the Variables panel.
  2. Automatic Updates: When switching Collections, all components linked to the active Collection’s variables should update dynamically.
  3. Cross-Collection Aliases: Allow variables in one Collection to reference variables from another, enabling more flexible theme management.
  4. Plugin/API Support: Extend the Figma API to allow developers to integrate Collection switching in plugins and automate workflows.

Benefits:

  • Efficient Theme Management: Designers can switch between multiple themes instantly without restructuring files.
  • Scalability: Large design systems can maintain consistency while supporting multiple brand identities.
  • Better Collaboration: Teams can prototype and preview multiple themes in real-time without manual updates.

This feature would significantly enhance workflow efficiency for teams working with multi-theme design systems and improve Figma’s versatility in UI/UX design. We believe it aligns with Figma’s mission of making design systems more powerful and flexible.

4 replies

Morgan_Feeney

Sounds great, but I think the pricing model is based on not being able to do this, making life miserable in the hope that you sign up to enterprise.

This makes zero sense as an indie maker, so I can only assume they expect this feature only to be of use to larger orgs, which if correct would be the wrong assumption.


adapted-sheep

I’ve just encountered the same problem. It’s pretty tedious to communicate this issue to the developers as well!


Lachezar Petkov

This is much needed for us, folks on the Enterprise plans, too. We have complex theming and switching between two modes and three different collections is a huge pain.


Sean_Cooley
  • New Participant
  • 12 replies
  • May 29, 2025

I’d suggest taking another look at how you’ve structured your variables. Do you really need separate collections for your themes? Or can this be handled by just using modes for each collection? If you do need to maintain the separate collections, maybe consider aliasing those collections down into another main collection that handles the theme switching with a mode for each theme? Something like this:

One collection with modes for all themes
Main Collection
  Mode: Theme A (Sub-Theme 1), Theme A (Sub-Theme 2), Theme B (Sub-Theme 1), Theme A (Sub-Theme 2), etc.

Aliasing to a Master Collection
Collection Theme A
  Modes: Sub-Theme 1, Sub Theme 2
Collection Theme B
    Modes: Sub-Theme 1, Sub Theme 2
Collection Theme C
    Modes: Sub-Theme 1, Sub Theme 2

Master Collection
 Modes: Theme A, Theme B, Theme C

Another option, which is the one we are currently using is to have a collection for Brand where each mode is your brands, and a collection for Theme where each mode is your themes. Theme collection is the final one consumed by designers. Theme Variables are mostly mostly aliased to Brand Variables. With this approach, you need to maintain groups inside the Brand collection to account for your themes (i.e. dark/background-brand, light/background-brand). The collections look something like this

Collection: Brand

  Modes: Brand A, Brand B, Brand C
Dark/background/primary
Dark/background/brand
Light/background/primary
Light/background/brand

Collection: Theme
 
Modes: Light, Dark

Background/Primary → Light/Background/Primary, Dark/Background/Primary
Background/Brand → Light/Background/Brand, Dark/Background/Brand


I’m currently in a similar situation and still haven’t arrive on which solution I like best. There are caveats and benefits to all of them. I think ultimately this would be partially fixed if Figma released “Extended Collections” which they teased at the launch of variables but haven’t mentioned since.

I would find swapping variable collections or variable files beneficial, but more from a versioning or maintenance perspective. 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings