The anatomy of a button in Sketch
Alberto Orsini

I am literally just thinking about how to best setup the button structure in Sketch so that I can utilize the overrides to toggle to different button styles or states.

I think what you proposed here it’s probably the most ideal one. Two minor things I don’t quite like with this setup:

  1. The order of type vs state within the override panel. It seems to make more sense to select the type first then set the state but I understand that mask has to go above the background.
  2. The button style + states are listed in the symbol’s list but they are essentially unused and taking up space.

These two are imposed by the program limitation and I don’t think there is a better way around them at this time. I hope that there is better feature/support for this particular pattern down the road.

Nicely done and thanks for sharing!