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.

Im getting this same issue with images instead of texts. I have a really complex design system, with hundreds of componentes and screens and I wanted to create some pre-made content strips that could be used on multiple files and updated with new contents easily when necessary.

The way to achieve this is by having:

1 A focosed and Unfocused state symbols
2 An strip symbol with includes these focused and unfocused states
3 An pre-madre strip which includes only the previous strip but with the correct images override

Changing status symbols on 2 works fine and the override images are keeped, but it doesn’t happen the same in 3, where the symbol override is reset every time I change a state.

I can see with your video @dfmedrano the logic of why this happens, but I don’t think it makes any sense from a user point of view. I think overrides should be inherited and keeped through nested instances.

Hi @pinker ,

Yeah, I can perfectly see your point and we’re aware that this can definitely improve. We also made some progress exploring solutions, and we realized there’s more ground to cover. Same structure symbols like the buttons on the video are pretty straightforward, but more complex symbols with different structures and levels of nesting bring new questions.

We are listening and we’re aware of this. I’ve re-shared this with the team and thanks for reaching out :pray:

1 Like