different sounds to different material

No need to set up a line trace, CharacterMovement ->CurrentFloor.HitResult will give you the material. This assumes your character is using a Character Movement Component.

Also, this thread has pretty much everything you need