Multiple walking audio

I want to be able to play different walking sounds on different surfaces. I have thought of a way of doing this but am unsure how to do this exactly. Maybe someone has a better way.

My idea is to make each Shader have the main texture and then another extra hidden texture. For each hidden texture the colors would be different. Then a simple downwards raycast could grab the hidden color and then assign which audio clip to play.

This way if you’re only using 3d models it would be easy to assign different audio clips without using Triggers, ect.

Anyone have any idea how this may be coded?

If it works then sure! It does seem a little weird to store meta data in a hidden color though.

You could put a script on the collider that contains a string, or enum, or even a reference to the AudioClip. When you raycast down and hit a collider you can then GetComponent() to learn which sound you should be playing.