For a 2D-only implementation, in unity, you could try writing a simple lighting algorithm that pokes bits in a custom texture with texture.SetPixel(); You'd have to poll all shadow casting objects and write into some secondary texture attached to them.
To speed things up, you could create the texture at lower resolution and "jitter" the pixels for some simple blurring.
Problem is, this will still be slow. Quite slow. And to do custom shadows from what I assume are alpha-textured quads is not only even slower but decently complicated as well.2nd approach
Use the alpha buffer to build your own 2d shadowing system. There's a great article on 2D Shadows right here
Should be fairly easy to do for basic polygonal shapes. Not so for alpha-textured quads.Alternatives:
Corona comes to mind. UDK might be ok too but UDK's overhead and requirements are a bit harsh for a 2D game.
p.s: someone built an alpha-buffer based ( stencil buffer unavailable in free ) hard-shadowing plugin. Could try that first