Skip to main content

Overview

Instance override propagation allows you to copy customizations from one component instance to multiple other instances in a single operation. This feature dramatically reduces repetitive design work when working with component instances that need similar customizations.
This feature was contributed by @dusskapark. Watch the demo video to see it in action.

Use cases

  • Design system updates: Apply approved customizations across multiple instances
  • A/B testing: Create multiple variants with consistent overrides
  • Rapid prototyping: Quickly propagate changes across similar components
  • Component evolution: Test override patterns before updating the main component
  • Consistency enforcement: Ensure similar instances share the same customizations

How it works

The override propagation workflow extracts override properties from a source instance and applies them to one or more target instances. This includes text overrides, visibility toggles, and nested instance swaps.

Workflow

1

Select source instance

Select the component instance that has the overrides you want to copy. Use get_selection to confirm you have the right instance selected.
get_selection()
The result will show the selected instance and its current overrides.
2

Extract overrides

Use get_instance_overrides to extract all override properties from the selected source instance.
get_instance_overrides({
  sourceInstanceId: "123:456"
})
This returns a structured map of all overrides including:
  • Text content overrides
  • Visibility states
  • Fill/stroke color overrides
  • Nested instance swaps
3

Identify target instances

Determine which instances should receive the overrides. You can use get_local_components to find all instances of a component.
const targetIds = ["123:789", "123:790", "123:791"];
4

Apply overrides

Use set_instance_overrides to propagate the extracted overrides to all target instances.
set_instance_overrides({
  targetInstanceIds: targetIds,
  overrides: extractedOverrides
})
The overrides are applied in a single batch operation with progress updates.
5

Verify propagation

Check the target instances to ensure overrides were applied correctly.
get_nodes_info({
  nodeIds: targetIds
})

Supported override types

Text content changes in component instances are captured and can be propagated to target instances. The override map includes the property path and new text value.
Show/hide states for layers within component instances can be copied to other instances, useful for toggling optional elements.
Nested component instances that have been swapped to different variants or components are captured and can be replicated.
Color overrides applied to instance children are extracted and can be propagated, though nested style properties may have limitations.

Best practices

Always extract overrides from a carefully configured source instance. Review the override data before applying to ensure you’re propagating the correct customizations.
  • Verify compatibility: Ensure target instances are from the same main component or compatible component variants
  • Test first: Apply overrides to a single test instance before propagating to many targets
  • Document patterns: Keep track of common override patterns for your design system
  • Incremental approach: For complex components, propagate overrides in stages rather than all at once
  • Version control: Consider documenting override patterns in your design system guidelines

Tool sequence

  1. join_channel - Connect to Figma
  2. get_selection - Confirm source instance
  3. get_instance_overrides - Extract override data from source
  4. get_local_components - Find target instances (optional)
  5. set_instance_overrides - Apply overrides to targets
  6. get_nodes_info - Verify the propagation

Example scenario

Imagine you have a card component with 50 instances across your design. You customize one instance with:
  • Updated heading text
  • Hidden badge element
  • Swapped icon variant
  • Changed button color
Instead of manually replicating these 4 changes across 49 other instances (196 manual operations), you:
  1. Extract overrides from the customized instance
  2. Apply them to all 49 targets in a single operation
This reduces hours of work to seconds.

Demo video

Watch @dusskapark’s demonstration of instance override propagation:

Build docs developers (and LLMs) love