I am working on a similar project and one guy told me to change the max walking angle in the character BP. This will cause the player to slide down. Also when using a character you can reference the character movement component and get the current floor variable from it. This struct gives lots of info on the floor including physical material. You can change movement speed or friction depending on the floors physical material.