Per instance shader parameters?

My shader takes in a boolean and whenever I toggle the parameter using SetShaderParameter() all models with the same material also get changed. I could easily clone the material, but 1) I would lose instancing optimization and 2) isn’t easy to do in the editor

There is a hack that let you pass additional per-instance data.
However, it can be done only if you make new drawable component and manually fill or edit batches (maybe inherited from existing one).