2D Sprite Ligthing Problem

I would use the MaskedLitSpriteMaterial, that works perfect with lighting. Just make sure, that your directional light is really shining on the right side of your map, and not at it´s backside ^.^
Then you can place smaller lights too, and they will (should) affect your tilemap and your chars.
For your char being on top of your buildings, you would need to separate those parts into two layers, where one is the background, where your char will be in front of (walking on), while the second layer (you may call it foreground layer) will be above the player, and therefore hiding him, if he walks in that area.

A simple example map with some lights (no directional light, but that works too, it was just an evening scene, that did not require a sun/directional light), plus some parts, that cover the character.

Edit: corrected a typo, confused with lit with unlit -.-´ lit for using with lights, unlit for emissive and ignoring lights