When do overrides get reset when changing symbols?

I’ve been wondering about this for a while: sometimes when I switch between symbols all overrides get reset, sometimes they are preserved. I thought his could have something to do with layer names (i.e. Sketch will transfer overrides if the layer name remains the same) but it doesn’t appear to be the case.

This becomes especially painful when I make tests and will have 10 different variants of the same symbol, and Sketch will reset all overrides whenever I switch between those instances.

Could someone explain the intended behavior here? Is there a way to make sure overrides get transferred when switching between symbols?

Hi @samvermette,

Apologies about the late reply. Reading from your report I think you could refer to the scenario where you create an instance of say, a button, and override it with some text. Then you take that overriden instance and use it to create a new symbol, so the overridden symbol instance is nested in the new symbol.

If you then swap that nested button for a variant to show an active state, the text seems to be lost and replaced by the default label of the active button.

When you nest an overriden instance to create a new symbol, that symbol becomes the new default, so when you swap it, the overrides seem to be lost, but the app sees no overrides, because it’s nested and acts as the new default.

Of course, I can perfectly see your point and this can definitely improve. Here’s a video that illustrates the scenario mentioned above. Let me know if this is what you meant:

Let me know if this is what you refer to or if I missed anything.