I want my ground to be slippery

I want my ground to be like ice for my player but I don’t know how to do it, I’ll put my code here and if someone could show me what should I add or change in order to make my character slip on the ground I would be very thankful :slight_smile:

public float speed = 10.0f;
public float gravity = 10.0f;
public float maxVelocityChange = 10.0f;
public bool canJump = true;
public float jumpHeight = 2.0f;
private bool grounded = false;
private Rigidbody rigidbody = new Rigidbody();

void Start()
{
    
}
void Awake()
{
    rigidbody = GetComponent<Rigidbody>();
    rigidbody.freezeRotation = false;
    rigidbody.useGravity = false;
}

void Update()
{
    if (Input.GetKey(KeyCode.LeftShift))
    {
        speed = 20.0f;
    }
    else
        speed = 10.0f;
}

void FixedUpdate()
{        
        // Calculate how fast we should be moving
        Vector3 targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
        targetVelocity = transform.TransformDirection(targetVelocity);
        targetVelocity *= speed;

        // Apply a force that attempts to reach our target velocity
        Vector3 velocity = rigidbody.velocity;
        Vector3 velocityChange = (targetVelocity - velocity);                          
        velocityChange.x = Mathf.Clamp(velocityChange.x, -maxVelocityChange, maxVelocityChange);
        velocityChange.z = Mathf.Clamp(velocityChange.z, -maxVelocityChange, maxVelocityChange);
        velocityChange.y = 0;
        rigidbody.AddForce(velocityChange, ForceMode.VelocityChange);
    if (grounded)
    {
        // Jump
        if (canJump && Input.GetButton("Jump"))
        {
            rigidbody.velocity = new Vector3(velocity.x, CalculateJumpVerticalSpeed(), velocity.z);
            
        }
    }        
    // We apply gravity manually for more tuning control
    rigidbody.AddForce(new Vector3(0, -gravity * rigidbody.mass, 0));
    grounded = false;
}

void OnCollisionStay()
{
    grounded = true;
}

float CalculateJumpVerticalSpeed()
{
    // From the jump height and gravity we deduce the upwards speed 
    // for the character to reach at the apex.
    return Mathf.Sqrt(2 * jumpHeight * gravity);
}

}

Use a physics material and set the friction to 0 and the friction combine to minimum.

Right click in the assets window > Create > Physics Material

drag it onto your ground that you want slippery.