Getting physical surface from landscape material.

Well, I am not a coder, but theoretically you could render your landscape once with a different material, where you would encode surface ID yourself. On game start you would read pixel data from the texture, you’ve baked and store it some sort of array. An when you need to retrieve physical surface(collision, footstep, w.e.), you would select corresponding value from this array. Pretty sure it lies outside of what API can offer, but should be doable. At least this was my initial plan to solve the problem.