CHAPTER 17
Beginner
Advanced Prototyping Techniques
Updated: May 16, 2026
35 min read
# CHAPTER 17
Advanced Prototyping Techniques
1. Introduction
Connecting Button A to Screen B usingNavigate To covers 90% of standard UI/UX design. But what happens when you need to prototype a shopping cart where the subtotal mathematically updates every time the user clicks "Add Item"? What happens when you need to prototype a login screen that actually checks if the password string equals "Admin123"? Standard click-through logic cannot handle this. You must introduce programming logic into your design file. In this chapter, we will master Advanced Prototyping Techniques. We will cross the bridge from visual design into the realm of computer science, utilizing Figma Variables (Tokens), Conditional Logic (If/Else statements), and interactive math to build hyper-realistic, dynamic simulations that rival coded software.
2. Learning Objectives
By the end of this chapter, you will be able to:- Define "Variables" in Figma and understand their role in storing data.
- Utilize "String," "Number," and "Boolean" variables in a prototype.
- Construct "Conditional Logic" statements (If/Else) on interactions.
- Prototype interactive mathematics (e.g., a functioning quantity counter).
- Create a dynamic prototype that remembers user choices across multiple screens.
3. Understanding Variables
In programming, a variable is a bucket that holds information. Figma now allows you to create these buckets natively.-
Number Variables: Holds math (e.g.,
ItemsInCart = 0).
-
String Variables: Holds text (e.g.,
UserName = "Guest").
-
Boolean Variables: Holds True/False states (e.g.,
IsLoggedIn = False).
UserName variable, and an interaction changes the variable's value to "Sarah", every single text box in your entire prototype linked to that variable instantly updates to say "Sarah."
4. Interactive Math (The Quantity Counter)
Let's build a functional[-] 1 [+] quantity counter for a shopping cart.
-
Create a Number Variable:
Quantity = 1. Link a text layer on the screen to this variable.
-
The [+] Button Logic: Instead of
Navigate To, select the actionSet Variable.
-
Choose the
Quantityvariable. Define the new value using a math equation:Quantity + 1.
- *The Result:* When you hit play and click the [+] button, the text on the screen counts up: 1, 2, 3, 4. It is executing live math without navigating to a new frame.
5. Conditional Logic (If / Else)
You can instruct Figma to make decisions based on the current state of a variable.- The Scenario: A checkout button should only work if the cart has items in it.
- The Logic:
-
IF(Quantity > 0)
-
Navigate To-> [Checkout Screen]
-
ELSE
-
Open Overlay-> [Error Modal: "Cart is empty"]
- This eliminates the need to draw separate "Empty Cart" and "Full Cart" screens and try to wire them to different buttons. The system handles the routing dynamically based on the user's prior actions.
6. Interactive State Memory
Standard prototypes suffer from amnesia. If you click a toggle switch on Screen 1 to turn on "Dark Mode," and then navigate to Screen 2, the prototype forgets your choice.-
The Variable Fix: Create a Boolean Variable
IsDarkMode = False.
-
Wire the toggle switch to
Set Variable: IsDarkMode = True.
- Because Variables exist globally across the entire Figma file, Screen 2 can read that variable and instantly render in Dark Mode upon loading. Your prototype now has long-term memory.
7. Diagrams/Visual Suggestions
*Visual Concept: The Conditional Logic Tree* Provide a flowchart visual of the Interaction Details panel in Figma.-
Trigger:
On Click
-
Condition:
If [CartTotal] > 0
-
*Action (True):*
Navigate to [Checkout]
-
Condition:
Else
-
*Action (False):*
Open Overlay [Empty Cart Error]
8. Best Practices
- Use Advanced Prototyping Sparingly: Just because you *can* build a fully functional, mathematically accurate calculator in Figma using variables does not mean you *should*. Advanced prototyping takes massive amounts of time. Only use variables and conditionals when that specific, dynamic interaction is the exact feature you are trying to validate in User Testing. Otherwise, simple screen-to-screen linking is faster and more cost-effective.
9. Common Mistakes
-
The Infinite Loop: When playing with advanced Conditional Logic (especially using
After Delaytriggers combined with Variables), a designer can easily create a logic loop that triggers itself endlessly, completely freezing the Figma presentation viewer. *The Fix:* Always map out complex variable logic on paper before inputting it into the software to ensure there is a logical termination point.
10. Mini Project: Build a Dynamic Welcome Screen
Let's make a prototype remember a name.-
1.
The Setup: Open Figma Local Variables. Create a String Variable named
UserName. Set the value to"Friend".
-
2.
Screen 1 (Input): Draw a screen with a text input box component and a
[Next]button. (Assume the input component passes its value toUserName).
-
3.
Screen 2 (Dashboard): Draw a title:
[Welcome back, ]. Next to it, add a text layer. Link that specific text layer to theUserNamevariable (Click the hexagon icon in the text panel).
-
4.
The Wiring: Wire the
[Next]button to Screen 2.
-
5.
The Test: If the variable logic dictates that typing "Sarah" updates the variable, Screen 2 will automatically render
[Welcome back, Sarah]. You have achieved dynamic, personalized data rendering.
11. Practice Exercises
- 1. Define the concept of a "Variable" within the context of UI prototyping software like Figma. What specific prototyping limitation do variables solve?
- 2. Explain the use case for "Conditional Logic" (If/Else statements) in a prototype. Give a real-world example of an interaction where an 'If/Else' rule is superior to drawing two separate static screens.
12. MCQs with Answers
Question 1
A designer wants to prototype a shopping cart where clicking the "Add Item" button physically increases the cart counter badge (1, 2, 3...) without having to navigate to a completely new, duplicate screen for every possible number. Which advanced Figma feature MUST they use to achieve this interactive math?
Question 2
When wiring a prototype interaction, you instruct Figma to check if the user is currently "Logged In" (True or False). If True, the click navigates them to the Dashboard. If False, the click opens an Error Modal. What is the programming term for this specific type of routing logic?
13. Interview Questions
- Q: A lead engineer looks at your massive Figma file and says, "There are too many screens here, the navigation logic is a mess." Walk me through how you could use "Boolean Variables" and "Conditional Logic" to reduce a 30-screen prototype down to just 5 dynamic screens.
- Q: Explain the difference between "String," "Number," and "Boolean" variables in Figma. Give a practical UI prototyping example for how each type of data would be used.
- Q: Walk me through the ROI (Return on Investment) of Advanced Prototyping. When is it financially responsible to spend 3 days building a complex, variable-driven prototype, and when should you just use standard, low-fidelity click-throughs?