My solution was to modify the shader to overbrighten via vertex colors. Pretty standard stuff (at least as far as I've seen some Unity shaders).
It's a two part solution:
Imagine an maximum-overbrightening value: like 4.
(1) Change the shader to multiply the texture contribution * vertex color contribution * 4
(in ShaderLab, this is something texture * primary QUAD, texture * primary
. The second formula defines the treatment of the alpha channel )
(2) Change SkeletonRenderer to push vertex color values that are multiplied by 1/4.
this amounts to adding an extra factor to the color calculation in SkeletonRenderer when it sets rgba before the vertices get assigned to the mesh.
The result is that if you set Skeleton.r g or b to 1, it'll be normally colored, as this pushes a maximum of 0.25 to the vertices.
But you can set Skeleton.r g or b up to 4, and it'll overbrighten the thing. This'll push 1's to the vertices which get calculated into * 4 by the shader. This was kind of a workaround thing because you can't assign vertex colors with element values larger than 1.0 (or larger than 255?)
It's important in these modifications that the alpha channel remain untouched on both ends or the edges will get messed up. no extra multiplication on them.
I brought this up last year, Nate! XD
Anyway, just a note, doing it in ShaderLab seems to cause it to not function correctly on some fairly recent (2-3-year-old) Android devices.
I would think coding it in Cg would fix it. If only I knew enough about Cg.
Also, this is purely an overbrightening shader so black texture pixels will always be black, and near-black pixels don't brighten very well.
But it won't break batching... but I guess that' not much of a benefit.