I am sure this has been already asked about 1000 times, yet even after two hours of googling, I have not been able to find out straightforward and working solution. Basically, I am searching for a way to use regular grayscale texture sample as a normal map. There is NormalFromHeightmap node which is not working, as it accepts only Texture2D input, not texture sample, rendering it pretty much useless. There is also bump offset, which does not work through normal map slot, but rather through a very odd way which makes material tree very messy, and instead of normal mapping, it does some sort of very expensive parallax occlusion mapping.
So I had to bite the bullet, and tried to make my own normal map converter, which would pretty much offset value of the input height map by specified constant in horizontal, and then vertical direction of UV space, and would add these two offset values as R and G channels on top of the blue background, which could be then used as a normal map. Yet, even something so incredibly simple seems to be impossible struggle for me