Containers for storing dynamic content, making design elements "alive"!
| Variable Type | Use Case | Example |
|---|---|---|
| String (Text) | Username / Address / Dynamic Copy | "John Doe" |
| Number | Inventory / Step Count / Rating | 100 |
| Boolean | Toggle State / Show/Hide Control | true / false |
Click + Variable at the bottom right of the Interactions panel.

Examples:
"Summer T-Shirt"150false
Dynamic Text Display:
Real-time Value Update:
Boolean Binding:
After creating and binding variables, you can use interaction events to change their values, making the prototype "move".

Change variable values through interaction events:
Example: Shopping cart interaction - increasing item quantity:
Target Variable: Quantity; Value: Quantity + 1Target Variable: Quantity; Value: Quantity - 1You can use expressions for more complex logic. Refer to the Expressions Guide.
Example: Shopping cart interaction - show a popup if stock is low:
Quantity > 100: Open Overlay (Popup) showing "Insufficient Stock".Set Variable: Quantity = Quantity + 1.Example: Shopping cart quantity adjustment using +/- buttons.
Example: Login form validation, error prompts, or generating random verification codes.
Example: Notification red dots, unread message count updates.
Example: Showing different overlays based on user identity (Guest vs. Admin).
Example: Calculating discounts or total price in a shopping cart based on quantity.
Example: App splash screen greeting. Greeting = "Good morning, " + Username + "! Temp: " + Temperature + "°C"
PageName_VariableName to avoid confusion.bool_hasUnread, num_totalPrice.0 unless otherwise required.❓ Why isn't the variable value updating? 👉 1. Check if the value actually changed: Create a text box bound to the variable to visualize the value in real-time. 👉 2. Check the binding: Ensure the variable is bound to the correct property. 👉 3. Check interaction order: If multiple interactions exist without delays, they execute top-to-bottom. Conflicts might occur.
❓ How to implement automatic calculation?
👉 Use expressions when setting variable values (e.g., Total = Price * Quantity). See Expressions Guide.
❓ Do variables reset during presentation? 👉 Yes! Variables reset to their initial values when the page is first loaded or refreshed.
❓ Scope of variables? 👉 Variables are global within the project file. They can be used across different pages and canvases. Updating a variable updates all bound elements automatically.
❓ Why is there no bind button in the property panel? 👉 You need to create a variable of the matching type first. For example, to bind a rectangle's width, create a Number variable first.
❓ How to make a variable take effect immediately upon presentation? 👉 Select the Page, add an interaction with Trigger: On Load, and Action: Set Variable.
❓ Does deleting a variable affect interactions? 👉 Yes. Deleting a variable will break all interactions and bindings associated with it. Please proceed with caution.