Skip to main content

Simply and easily reset prototype

  • August 21, 2023
  • 22 replies
  • 5916 views

Is there a way to reset the prototype with an interaction without forcing the user to press R to reset?

I’d rather continue the flow and just reset some key components and variables rather than take them out of the flow and start the whole thing again. Resetting variables is OK, but there are a few components (an add to trolley one for example) I need to reset back to its original state but I don’t see a way to do this.

22 replies

Michael_Hobson

There’s a tickbox to reset components, does this do what you need?


Thanks for your reply Michael - that would work if it was the component which had the interaction on it - however the component is back on a previous step and needs to stay in the state it’s in until I choose to reset it.

Picture a simple shopping cart. I have an “add to cart” component which changes from an “add” button to a “+ -” button with the number of those things in the cart. Once they’ve added that item to the trolley, it should stay in its “there are x of these things in the cart” state all the way through check out. When i’m finished my shop though I want to return the customer back to the beginning of the journey with no more items in their cart, and that component reset.

Curreently I have a bunch of “reset” variables (which is a pain to update everytime something else changes) but I can’t think of a way to target that cart component to reset it.


UBS
  • November 6, 2023

I am also looking for the same solution. Like in a real world after you checkout, the session resets and all the values in your shopping cart goes back to 0. So without making the user press ‘R’ key, we should be able to do it using variables in some way.


Celine_
Figmate
  • Community Support
  • November 7, 2023

Hi everyone! Thank you for sharing your feedback! We’ll pass it along to your team for consideration.
In the meantime, I switched your topic from “Ask to the community” to “Feature request”, so you can vote up for this idea!


Pavol_Jurik

would be great if you could reset or change state of a component based on interaction on the other component. just select which ones. not just restart/reset the whole prototype


MattiasK
  • December 1, 2023

+1 - I use variables for components quite a lot, and when the component is re-used throughout the UI but with different purposes (for example, timers) it would be beneficial to be able to reset it, similar to Component Reset in interactions.


Andrea_Monfrini

Big up for this feature


Litsa_Babalis

+1 for this feature


Desislava_Slavkova

I need this as… Figma already has it (R) it just needs to be made available on user interaction…


Oliver_Maw
  • New Participant
  • July 29, 2024

really need this feature! - We are using variables a great deal and having a reload/reset feature would be amazing, as others have said it just needs to replicate the user hitting ‘R’ but in a way that this action can be applied to an element within the prototype itself.


  • September 6, 2024

this feature would be very helpful.
i am trying to have a button on the page for when the user clicks it, it creates a new item on the page and the interactions they have done on the page are reset back to the default state.
under the navigate to action you can’t select the page the component is located on, but you can set the state, but it does nothing since you can’t select the page.
{46AB53A7-9C93-48E2-BBBD-66D70D67DBCF}


Kelsey_Waara
  • New Participant
  • November 7, 2024

I’m trying to solve for the same issue


Jayde Ly
  • New Member
  • January 24, 2025

Totally agree that this is a much needed feature. Having to manage everything through local variables a lot of work when all you really want is for the user to not have to hit “R” to restart the prototype. For more complicate app prototypes that’s a lot of states to manage and local variables to define/link up JUST to basically restart a prototype.


Sara Wilson
  • New Member
  • February 12, 2025

This would be really helpful.

We have the same component presented responsively in 2 flows and running through and showcasing on one device followed by the other means the component value changes persist.

I’ve tried to reset, but because we’re using modes to handle varying text and pricing content, only the 1st instance is overwritten, not all modes. It’s really frustrating!


AliciaC
  • New Participant
  • March 2, 2025

I need this feature as well. My entire prototype is in one frame. If I could trigger a global reset, that would save me the effort of managing a gazllion checkbox states instead.


Kent Ward
  • New Member
  • June 11, 2025

+1


Laszlo
  • New Participant
  • October 27, 2025

A bit of a hack, not sure it’ll work for all of you but might help some of you

  • Let’s say you want to reset the components on #yourframe
  • Create a #new-frame. Set it to after delay 1ms navigate to #yourframe
  • On #yourframe set up a click interaction to navigate to #new-frame

    Depending on the complexity of your frame you might just have a 1ms flicker but your components are reset. You can also play with #new-frame to make it look like #yourframe so the flicker is even less visible.

Desislava_Slavkova

+1
It’s a lot of effort needed for reset to do this by - manually setting default state of variables. It shouldn’t be this hard! 

Can’t believe it’s been 2 years and Figma has done nothing to resolve this..


Desislava_Slavkova

A bit of a hack, not sure it’ll work for all of you but might help some of you

  • Let’s say you want to reset the components on #yourframe
  • Create a #new-frame. Set it to after delay 1ms navigate to #yourframe
  • On #yourframe set up a click interaction to navigate to #new-frame

    Depending on the complexity of your frame you might just have a 1ms flicker but your components are reset. You can also play with #new-frame to make it look like #yourframe so the flicker is even less visible.

This didn’t work for me..  variable modes which I use extensively for radio buttons and other components don’t get reset.


Michael_Hametner

A bit of a hack, not sure it’ll work for all of you but might help some of you

  • Let’s say you want to reset the components on #yourframe
  • Create a #new-frame. Set it to after delay 1ms navigate to #yourframe
  • On #yourframe set up a click interaction to navigate to #new-frame

    Depending on the complexity of your frame you might just have a 1ms flicker but your components are reset. You can also play with #new-frame to make it look like #yourframe so the flicker is even less visible.

I’m not sure if I get what you mean :-(

But I’m afraid this might work for components itself but not to reset variables in the background.

E.g. i have a cart where a “added_to_cart” variable is set for each product that got put into the cart.
I could not find a way to reset this variable to the default state for all of the products at once. 
The result I want to achieve: at the end of the checkout process the cart should be empty.

Total $ can be set to zero with one set variable interaction - that’s not the problem because it’s a single variable. But for other variables I could not find a way so far.

@Figma → c’mon - you can do it


Laszlo
  • New Participant
  • February 5, 2026

Hey ​@Michael_Hametner 

See this proto below, it resets both components and variables.
I set the “reset” frame to show for 300ms deliberately, could be set to 1ms.
This frame allows you to have an extra step where you an reset your components and variables on click. As you can (re)set more than one variable (or variable mode) on click, you can add the reset there manually on the click interaction. 

Here’s how to add an other action on the same trigger (set an other variable)

Here’s a view with 2 variable resets (you can add more by clicking +)
 


Proto that resets all variables and components
 


Editor:

 


Michael_Hametner

Thanks ​@Laszlo 

Appreciated. 😍

At first I could not wrap my head around stuff like this - especially with products where every product has it’s own variable mode.
but I learned it’s more a matter of where you put the interactions for things like this to work!

Thanks a lot
Cheers