Note: This documentation is about writing C# scripts using the LowLevelPhysics2D API. To use 2D physics in the Unity Editor using components like the Rigidbody 2D component, refer to 2D physics instead.
Explore the properties you can use to configure a physics shape in the Unity Editor. For more information, refer to Create an object with the LowLevelPhysics2D API.
The properties in the Surface Material section determine how the shape interacts with other shapes.
| Property | Description |
|---|---|
| Friction | Sets the coefficient of friction for this 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. A value of 0 means no friction, like ice. A value of 1 means very high friction, like rubber. The default is 0.6. |
| Bounciness | Sets how bouncy the surface is, and how much other colliders bounce off it. A value of 0 means the surface is not at all bouncy, like soft clay. A value of 1 means the surface is very bouncy, like rubber. The default is 0. |
| Friction Mixing | Determines the method Unity uses to mix the friction of two objects when they make contact. The options are:
|
| Bounciness Mixing | Determines the method Unity uses to mix the bounciness of two objects when they make contact. The options are:
|
| Friction Priority | Determines which shape contributes its Friction Mixing mode when two shapes come into contact. Unity uses the Friction Mixing mode from the shape with the highest Friction Priority value. If the two shapes have the same Friction Priority value, Unity uses the highest SurfaceMaterial.MixingMode enumeration value from the two shapes. |
| Bounciness Priority | Determines which shape contributes its Bounciness Mixing mode when two shapes come into contact. Unity uses the Bounciness Mixing mode from the shape with the highest Bounciness Priority value. If the two shapes have the same Bounciness Priority value, Unity uses the highest SurfaceMaterial.MixingMode enumeration value from the two shapes. |
| Rolling Resistance | Sets how resistant the shape is to rolling. The range of values is 0 to 1, where 0 means no rolling resistance and 1 means full rolling resistance. |
| Tangent Speed | Sets the speed the surface moves other objects that come into contact with it, in meters per second. For example, if you set Tangent Speed to 5, the surface acts like a conveyor belt that moves objects along the surface at 5 meters per second. You can use a positive or negative value to set the direction of movement. |
| Custom Color | Overrides the color Unity uses to draw the debug visualization of the shape. The alpha value is ignored. The default is Color.Clear, which is black with an alpha of 0, and means Unity uses different colors to represent the current state of the shape. For more information, refer to Draw a debug visualization of objects. |
The properties in the Contact Filter section determine which other shapes the shape collides with. For more information, refer to Configure collisions between objects.
| Property | Description |
|---|---|
| Categories | Sets the layers this shape belongs to. |
| Contacts | Sets the layers this shape collides with. |
| Group Index | Assigns the shape to a group, and overrides the Categories and Contacts properties. Use the following values:
|
| Property | Description |
|---|---|
| Density | Sets the density in kg/m2. The default is 1. Use this property to create a hollow shape for example. |
| Is Trigger | Enables the shape going through other shapes without generating a collisionA collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a Rigidbody component and is in motion. More info See in Glossary response. Instead, the shape generates a trigger event when another shape overlaps. For more information, refer to Introduction to collision in the LowLevelPhysics2D API. |
| Trigger Events | Produces a trigger event when the shape starts and ends overlapping another shape. This property works whether you enable or disable Is Trigger on this shape. To fetch events, refer to PhysicsWorld.triggerBeginEvents. |
| Contact Events | Produces a contact event when the shape starts and ends contact with another shape. This property has no effect if the shape is attached to a body set to Static. To fetch events, refer to PhysicsWorld.contactBeginEvents. |
| Hit Events | Produces a hit event when the shape collides with another shape. This property has no effect if the shape is attached to a body set to Static. To fetch events, refer to PhysicsWorld.shapeHitEvents. |
| Contact Filter Callbacks | Calls the IContactFilterCallback method of the shape if it makes contact with another shape, so you can run your own code that determines whether the shapes should collide. |
| Pre Solve Callbacks | Calls the OnPreSolve2D method of the dynamic body before Unity calculates the collision response, so you can run your own code. |
| Start Static Contacts | Produces a contact event if the shape is attached to a body set to Static, and the shape makes contact with another shape. Enabling this property can reduce performance if you have many static shapes. |
| Start Mass Update | Updates the mass of the body when the shape is created. Disabling this property can improve performance if you add multiple shapes to the same body, but you must call ApplyMassFromShapes to recalculate after you add a shape. |