Skip to main content
Question

Variable-driven variant switch instance drops overrides

  • August 7, 2026
  • 1 reply
  • 25 views

Seamus_Leonard2

Summary

When a nested instance has its variant property bound to a variable, changing the variable's value (via mode switch) correctly switches the variant but resets instance swap overrides to their defaults.

Steps to reproduce

  1. Create a component set Button with:
    • Variant property: State (enabled, disabled)
    • Exposed instance swap property: Icon (default: any icon)
    • Add a text varinat
  2. Create a variable collection with two modes (e.g. "rest" and "disabled")
  3. Add a string variable button/state with values: rest → "enabled", disabled → "disabled"
  4. Create a second component Wrapper and place a Button instance inside it
  5. Inside Wrapper, override the Button's Icon to a different icon, and update the text string
  6. Inside Wrapper, bind the Button's State variant to the button/state variable
  7. Place an instance of Wrapper on the canvas
  8. Switch modes on the Wrapper instance

Expected

Button switches State. Icon/Text override persists.

Actual

Button switches State. Icon override resets to the component default.

Notes

  • Manual variant switching on the same nested instance preserves the override
  • Variable-driven switching on a top-level instance (not nested) preserves the override
  • Only the combination of variable-driven + nested instance loses overrides


     

1 reply

djv
Figmate
  • Community Support
  • August 10, 2026

Hi ​@Seamus_Leonard2, thanks for flagging this and including so much context!
 

Narrowing this to variable-driven switching only when the instance is nested is exactly the detail our team needs.

You're right that this isn't expected. Override transfer through a variable-bound variant swap has improved a lot, and most cases now should preserve overrides. The ones that still drop them tend to involve a nested instance plus an instance swap, which does match your setup. Please know that we're treating these specific issues as bugs, not intended behavior. In the meantime: right after the override resets, try Undo (⌘Z / Ctrl+Z) and switch the mode again. In similar reports the overrides will stick on the second pass. Two questions, so we can file this accurately:

  • Could you share a file URL link (with Can view access for support-share@figma.com)? While the recording is helpful, the team needs the actual layer structure and variable setup to find the root cause.
  • Does the text override reset alongside the icon, or is the icon the only one?

For reference, Apply changes to instances covers which changes are preserved through a swap. If you’re able to send the file over, our team should be able to investigate further.