I've worked on an approximation of this on our current game. Sadly I can't share source code, but I can share the approach.
The method I worked on (Inside of Unity) had two components, a shader and a particle system. You'd set the effects origin, and the maximum extents of the mesh to be dissolved.
You'd then 'grow' the effect from it's origin, to it's extents, emitting particles from the verts of the mesh, and alpha'ing out the mesh via shader.
It's kinda vague, but basically you have an effect with you can throw on nearly anything static which works without any baking. The denser the mesh, the less performant the effect, so I added some scaling based upon client framerate to load balance it. So if there's already a couple of effects running, or the FPS is too low, or the object dissolving too distant, I'd only run the shader dissolve, not the particles.
Not sure if this helps you out, but it can be done at run time