Figma Support Forum

Prototyping | Conditional logic & variables

  1. If a screen in a complex flow has multiple entry points and conditions it’s impossible to prototype in Figma.

  2. Axure RP allows for setting variables say “From Home dashboard” and using IF else statements, to manage complex prototypes. I would love this feature in Figma. Axure RP, UX Pin and Framer allows for this, but I would prefer to just use Figma for “complex” prototypes too.

Is anyone using a plugin or workaround to help solve this?, etc.


Agreed. Until Figma can at least allow for complex conditionals (arguments IF, THEN, ELSE), and Local and Global Variables it really isn’t a serious prototyping tool, just a little better than Invision. Fortunately, Axure allows for importing of Figma, Sketch and Adobe XD now, so you can still design freely with Figma and for heavy interaction-design simulation (with conditionals) rely on Axure until someone can produce production-quality code-generation in prototypes from design tools one day… No, Anima plug in isn’t production level code generation… its psuedo code at its best.


Oh gosh I really need this…


Yes, definitely it would be a huge help in prototyping

1 Like

Yep… It’s a cool feature of Axure, but Axure is clunky, slow, and not much fun to use(I find myself constantly frustrated by it)… If XD or Figma get’s this functionality they could easily corner the market.

Because of lack of conditional logic a lot of designers using Axure for complex scenarios. I build html/css/js prototypes for this. This approach gives more flexibility than Axure.
But allowing conditional logic right in Figma would be real lifesaver for designers.

1 Like

Framer has conditional prototyping?

How about Event dependent from Starting Point?

If I try to express like below situation, I can not add two onClick events, so I have to make some wrapper frame or something in Prototype.

Login Button ->onClick -> Error Dialog
                       -> Success Dialog

In this case, the new Starting point also can not handle it. Event dependent from Starting point is a passably good option, maybe?

For Example, in the below case, I can have multiple onClick but dependent on the Starting point.

Success Starting Point ->             -> onClick -> Error Dialog
                          Login Button
Error Starting Point   ->             -> onClick -> Success Dialog