As in ACSS, several collections in Schema use scale-based values - typography, spacing, and border radius all derive their full range from a base value and a scale multiplier.
Figma doesn't natively support variable calculations, so when you change a base value or scale, the derived values don't auto-update on their own.
There are two ways to handle this.
The most straightforward approach. You calculate the scale values yourself (or have your AI assistant generate them) and paste them into the variables manager.
For example, if your heading base size is 20 and your scale is 1.25:
You can ask any AI assistant to generate a full scale from a base value and ratio, then copy the results into the variables manager. This works for typography, spacing, border radius - any collection that uses a scale.
As Figma moves toward AI integration in the editor, this will likely become even simpler - you'll be able to ask for scale-based generation directly within the tool.
There are Figma plugins that support variable calculations by reading formulas from the variable description field and computing the values automatically. Fancy Figma is one of them.
Schema already has these formulas built into the variable descriptions. So if you install Fancy Figma and run it, the scale calculations work out of the box - no setup needed.
For example, a heading variable's description might contain:
calc($base-heading-size * $heading-scale)
Fancy Figma reads that, resolves the referenced variables, and updates the value. When you change your base-heading-size or heading-scale, just run the plugin again and all derived values recalculate.
This applies to every scale-based collection: