In real-world physics, friction is a force that impedes motion between two surfaces that are in contact with each other. For example, ice has a low-friction surface, which allows objects to slide easily across its surface. Rubber has a high-friction surface, which prevents objects from sliding across its surface.
In the PhysX system, there are two types of friction that you can control:
Static friction applies when the colliderAn invisible shape that is used to handle physical collisions for an object. A collider doesn’t need to be exactly the same shape as the object’s mesh - a rough approximation is often more efficient and indistinguishable in gameplay. More info
See in Glossary is stationary. A high amount of static friction impedes the collider from starting to move while it is in contact with another collider.
Dynamic frictionA Physic Material property that defines the friction for a Rigidbody when it’s in motion. Lower values mean less friction, so a setting of zero represents slipping on ice. More info
See in Glossary applies when the collider is moving. A high amount of dynamic friction impedes the collider’s movement speed while it is in contact with another collider.
Static friction is particularly relevant in physics simulation when you need to stack objects. For example, if you put one low-friction object on top of another (such as a cube of ice on top of another cube of ice), the low friction between them might cause the top object to move, even if the bottom object is stationary.
PhysX calculates contact surfaces which are larger than a single point (such as two boxes resting on each other) as having multiple contact points. This in turn multiples the friction forces. If this happens, you need to adjust your friction values to correctly scale the results - for example, if there are two contact points, you should halve your friction values.
The default friction in Unity is 0.6. This value simulates real-world friction in most projects.
You can choose the type of calculation that PhysX uses to simulate friction between colliders. To do this, go to the Physics Settings (Edit > Project Settings > Physics) and use the Friction Type property. See the Physics Settings documentation for more information on each friction type.
The choice of friction type is always to balance accuracy and performance; more accuracy always requires more processing time. Some projects require extremely accurate friction, while others are more focused on performance optimization. Choose the friction type that best suits your project’s focus. The default friction type is Patch Friction.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.