Skip to main content
UI/UX Prototyping – Complete Beginner to Advanced Guide
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 using Navigate 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).
*The Power:* If you link a text box on your screen to the 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 action Set Variable.
  • Choose the Quantity variable. 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]
This visual introduces the student to standard programming syntax visualized within a design UI.

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 Delay triggers 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. 1. The Setup: Open Figma Local Variables. Create a String Variable named UserName. Set the value to "Friend".
  1. 2. Screen 1 (Input): Draw a screen with a text input box component and a [Next] button. (Assume the input component passes its value to UserName).
  1. 3. Screen 2 (Dashboard): Draw a title: [Welcome back, ]. Next to it, add a text layer. Link that specific text layer to the UserName variable (Click the hexagon icon in the text panel).
  1. 4. The Wiring: Wire the [Next] button to Screen 2.
  1. 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. 1. Define the concept of a "Variable" within the context of UI prototyping software like Figma. What specific prototyping limitation do variables solve?
  1. 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?

14. FAQs

Q: Do Figma Variables generate actual database backend code? A: No. While Figma Variables use programming logic (If/Else, Math), they do not write functional backend code (like Node.js or SQL). However, they are incredibly useful for frontend developers, as the design logic perfectly mirrors the structural logic they will have to write in React or Vue.

15. Summary

In Chapter 17, we crossed the threshold from UI Designer into UX Engineer. We abandoned the limitations of static, memory-less screens, adopting the foundational concepts of computer science. We utilized Variables to store dynamic data, giving our prototypes the ability to remember user choices and calculate interactive mathematics. We deployed Conditional Logic, instructing the system to make autonomous routing decisions based on If/Else rules. By mastering these advanced tools, we proved we can simulate highly complex, data-driven software experiences that perfectly mimic final production code, allowing for the highest possible fidelity of User Testing.

16. Next Chapter Recommendation

You now possess the power to build anything. But with great power comes the ability to make massive, catastrophic errors. Proceed to Chapter 18: Common Prototyping Mistakes.

Finish this Chapter

Save your progress on your learning path and prepare for coding interview challenges.

Discussion

Join the discussion

Log in or create a free account to participate.

Sort: ·