Render shadow without casting light on the environment?

skylight and directional light only work for outdoor scenes. My entire game is “indoors” in a dungeon. So I can’t use those as it’d light up parts of the map outside of the dungeon and the top of my walls. Below is an example.

My light source for the dungeon is done and floats above the player fine, but I need to be able to cast shadows that aren’t basically blobs without moving that light source. Example of what that looks like below.

image

This is due to the light source being above the player. Now if I move it forward it obviously looks correct, but then the light looks obviously in front of the player and just feels strange. Below is what it looks like if the light is infront of the player, which makes good looking shadows but it’s obvious when moving/turning that the light is infront of the player (this is exactly how Diablo 4 does it though), but this causes the light to go through the wall (guess I’d need a spring arm with collision to fix that?).

I guess I might end up having to just settle for either the blob like shadows or moving the light forward. I can’t really see any other workaround here.