I utilised the new ControllerManager system which lets you customise several properties of characters, like friction & speed multipliers, air control etc.
Here’s the link to the announcement post! It has code snippets in there.
To make the sliding better & more characterful I used some mathematics to compare the player’s inputted movement with their current velocity, playing custom animations + sounds if I determine they’re skidding/sliding.
In short, I use the vector dot of the player’s velocity compared to their humanoid’s movement direction, basically if the player is trying to move backwards, but they are actually moving forwards due to low friction, the number returned will be -1 because the difference in velocity is completely opposite!