Professional plan should offer more than 4 variable modes

Limiting modes in paid plans is senseless. Any news on this limitation? People have been waiting for a response for months.


Its been 1 year now and still no official response.

I have about 10 tickets for feaures im waiting on and its the same across all. Many years outstanding… Did everyone just go home after the adobe merger fall through? Need a hug Figma? Or should we just all move to Penpot?


+1, what a shame


Me again, BEGGING for more modes in organizational plans and all around - we are having to do SO MANY work arounds and creating a million collections just for the sake of not having more than 4 modes. PLEASE ADD MORE WE DO NOT NEED DEV MODE JUST MODES!!!


Still, there is no news, and no one talks about this. This is basically an alternative waiting to happen, with people jumping off the ship because of all the wrong pricing policies Figma introduced last year.

I remember the times when Sketch, Axure, Fireworks, InVision, even Photoshop were “irreplaceable” in UI work…


So I found a way to bypass it, it’s not pretty but here it goes (this example unlocks 16 modes, you can go 64, 256, 1024 to infinity if you can handle the madness):

  1. Create 4 collections (collection-0-1 collection 0-2, collection 0-3, collection 0-4), each having 4 modes. These should be identical in structure and each mode should represent a theme, so naming your modes by theme (eg. CocaCola, Sprite, Fanta etc) will come handy. You now have 16 modes to choose from.
  2. Create a collection (collection-0), same in structure as the first 4, create 4 modes for each mode and link the corresponding variables from each of the 4 collections (Mode 1 - collection-0-1, Mode 2 - collection-0-2 etc).
  3. Profit. You now can choose from 16 variable modes by combo choosing the appropriate one!

I hope it makes sense, but it works :slight_smile:

Maybe someone can create a plugin to automate the whole process.

Yeah, that’s the same method I’ve described and been using. It works but it’s not the friendliest for the rest of a design team. I like you’re explanation and example.


It’s not the friendliest indeed, it just shows that the 4 modes limit or any limit at all is just insane!

1 Like

Agree, 4 modes is not enough for a payed tier.

1 Like

Would you mind screen-grabbing your setup please?

I can share some screenshots as well. This is an example using switcher sets for controlling these accent colors:

The selected one is the component, all the others are instances with variables applied. (Color-themes for this is controlling the text color. theme-light = dark text)

Looking at the variable collections, Color-accents-sets is the switcher that allows you to bridge between the primary and secondary accent color collections.

If I wanted to, for example, change from “bright” to “cool” then I’d change Color-accents-sets from Secondary to Primary, then I’d have to get the Color-accents-primary collection from the Layer variables icon dropdown and choose “cool”.

It’s a pain to set up and use but it does work.

Here’s an overview (highlighted collections used above) of all the variable aliasing I’d set up in this design system to allow switching for themes, accents, backgrounds, button states, image sizes, breakpoints, and finally fonts at breakpoints. I’m not certain it’s totally accurate since we have no node editor for variables but it should give you an idea how the aliases flow. As it says within, each collection named ______-sets is a switcher to use a variable for more than 4 modes.


These workarounds are nothing short of ingenious, and I really thank you all for sharing your hacks.

Having said that, this route feels like an algorithmic hell which will require extensive documentation for anyone joining a team, and the long term maintenance of this has me sweating.

This is precisely why we pay for professional tools. They develop and update core features which handle this logic seamlessly, allowing us to focus on our work. That’s the contract.

I don’t know of any other software platform (not even Adobe) which imposes random limits on core features on their upper tier plans. Come on now, $45/month/user is far from freemium.


Thanks for taking the time to share, I haven’t put it to real world test yet, just tested it as a concept. Glad to see it actually works in real scenarios!


If anyone is wondering, we use import/export variables to swap in and out saved themes.
It isn’t a particularly great solution and adds a lot of friction to the design team as nobody wants to touch it out of fear of breaking it. It has stopped us from using variables to explore lots of iterations, which I thought would be the main benefit of the feature.

I spent a lot of personal time moving to Figma variables and I feel like I’ve been tricked into a situation in which the Figma position is essentially just pointing at the enterprise price. I’m also disappointed I’ve had to use plugins to export variables rather than use the Figma variables API, which seems to be needlessly behind a enterprise pay wall.

There was a bit of an expectation that the 4 mode limit was a Beta thing, and was to restrict Figma users running into memory issues or ‘scale’ issues; this also turned out to not be the case, with no communication from Figma.

As a side note: I think the enterprise tier is a ridiculous price for 40 modes, i would expect unlimited.

I agree that this is a great paid feature, I’m happy we are paying. However, I can’t convince the org to hand over an extra $10k a year just for some extra variable modes.

I’m asking Figma now, (if any mod or design advocate is in here?) what is the long term pricing plan for Figma Variables. I feel some of us are owed an answer for this for being Variable early users from day 0.

Also a shout out to, which we used before switching to Figma Variables. Despite some of the performance issues Tokens Studio has, they were clear about pricing and communicated weekly on the performance/features/issues they were tackling.


The 4 mode limit is also made a little worse without the ability to move variables between collections. Some of the workarounds mentioned in here are restricted by this.

1 Like

Not letting this close! We have so many collections to make up for 4 modes pleasssseeeee