Version: 2022.2
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




The Physics module implements 3D physics in Unity.


ArticulationBodyA body that forms part of a Physics articulation.
BoxColliderA box-shaped primitive collider.
CapsuleColliderA capsule-shaped primitive collider.
CharacterControllerA CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.
CharacterJointCharacter Joints are mainly used for Ragdoll effects.
ColliderA base class of all colliders.
CollisionDescribes a collision.
ConfigurableJointThe configurable joint is an extremely flexible joint giving you complete control over rotation and linear motion.
ConstantForceA force applied constantly.
ControllerColliderHitControllerColliderHit is used by CharacterController.OnControllerColliderHit to give detailed information about the collision and how to deal with it.
FixedJointThe Fixed joint groups together 2 rigidbodies, making them stick together in their bound position.
HingeJointThe HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
JointJoint is the base class for all joints.
MeshColliderA mesh collider allows you to do collision detection between meshes and primitives.
PhysicMaterialPhysics material describes how to handle colliding objects (friction, bounciness).
PhysicsGlobal physics properties and helper methods.
PhysicsSceneExtensionsScene extensions to access the underlying physics scene.
RigidbodyControl of an object's position through physics simulation.
SphereColliderA sphere-shaped primitive collider.
SpringJointThe spring joint ties together 2 rigid bodies, spring forces will be automatically applied to keep the object at the given distance.


ArticulationDriveDrive applies forces and torques to the connected bodies.
ArticulationJacobianThe floating point dense Jacobian matrix of the articulation body hierarchy.
ArticulationReducedSpaceCoordinates in reduced space.
BoxcastCommandUse this struct to set up a box cast command to be performed asynchronously during a job.
CapsulecastCommandUse this struct to set up a capsule cast command that is performed asynchronously during a job.
ClosestPointCommandStruct used to set up a closest point command to be performed asynchronously during a job.When you use this struct to schedule a batch of closest commands, they are performed asynchronously and in parallel to each other. The results of the closest points are written to the results buffer. Because the results are written asynchronously, the results buffer cannot be accessed until the job has been completed.The result for a command at index N in the command buffer is stored at index N in the results buffer.
ColliderHitStruct used to retrieve information from an Overlap batch query.
ContactPairA pair of Colliders that belong to the bodies in the parent ContactPairHeader struct.
ContactPairHeaderA header struct which contains colliding bodies.
ContactPairPointA readonly struct describing a contact point between two Colliders.
ContactPointDescribes a contact point where the collision occurs.
JointDriveHow the joint's movement will behave along its local X axis.
JointLimitsJointLimits is used by the HingeJoint to limit the joints angle.
JointMotorThe JointMotor is used to motorize a joint.
JointSpringJointSpring is used add a spring force to HingeJoint and PhysicMaterial.
ModifiableContactPairA light-weight proxy that allows to access the contact buffers directly.
ModifiableMassPropertiesMass-related modifiable properties of a contact pair.
OverlapBoxCommandStruct used to set up an overlap box command to be performed asynchronously during a job.
OverlapCapsuleCommandStruct used to set up an overlap capsule command to be performed asynchronously during a job.
OverlapSphereCommandStruct used to setup an overlap sphere command to be performed asynchronously during a job.
PhysicsSceneRepresents a single instance of a 3D physics Scene.
QueryParametersCreates a struct to set up parameters for batch queries: RaycastCommand, BoxcastCommand, CapsulecastCommand, SpherecastCommand.
RaycastCommandStruct used to set up a raycast command to be performed asynchronously during a job.
RaycastHitStructure used to get information back from a raycast.
SoftJointLimitThe limits defined by the CharacterJoint.
SoftJointLimitSpringThe configuration of the spring attached to the joint's limits: linear and angular. Used by CharacterJoint and ConfigurableJoint.
SpherecastCommandUse this struct to set up a sphere cast command that is performed asynchronously during a job.
WheelFrictionCurveWheelFrictionCurve is used by the WheelCollider to describe friction properties of the wheel tire.


ArticulationDofLockThe lock type applied to a particular degree of freedom of an articulation body.
ArticulationDriveAxisAn axis of a drive of an ArticulationBody.
ArticulationDriveTypeThe drive type applied to a particular drive of an ArticulationBody.
ArticulationJointTypeThe type of the joint that restricts movement of the two connected articulation bodies.
CollisionDetectionModeThe collision detection mode constants used for Rigidbody.collisionDetectionMode.
CollisionFlagsCollisionFlags is a bitmask returned by CharacterController.Move.
ConfigurableJointMotionConstrains movement for a ConfigurableJoint along the 6 axes.
ForceModeUse ForceMode to specify how to apply a force using Rigidbody.AddForce or ArticulationBody.AddForce.
JointProjectionModeDetermines how to snap physics joints back to its constrained position when it drifts off too much.
MeshColliderCookingOptionsCooking options that are available with MeshCollider.
PhysicMaterialCombineDescribes how physics materials of the colliding objects are combined.The friction force as well as the residual bounce impulse are applied symmertrically to both of the colliders in contact, so each pair of overlapping colliders must have a single set of friction and bouciness settings. However, one can set arbitrary physics materials to any colliders. For that particular reason, there is a mechanism that allows the combination of two different sets of properties that correspond to each of the colliders in contact into one set to be used in the solver.Specifying Average, Maximum, Minimum or Multiply as the physics material combine mode, you directly set the function that is used to combine the settings corresponding to the two overlapping colliders into one set of settings that can be used to apply the material effect.Note that there is a special case when the two overlapping colliders have physics materials with different combine modes set. In this particular case, the function that has the highest priority is used. The priority order is as follows: Average < Minimum < Multiply < Maximum. For example, if one material has Average set but the other one has Maximum, then the combine function to be used is Maximum, since it has higher priority.
QueryTriggerInteractionOverrides the global Physics.queriesHitTriggers.
RigidbodyConstraintsUse these flags to constrain motion of Rigidbodies.
RigidbodyInterpolation Rigidbody interpolation mode.
RotationDriveModeControl ConfigurableJoint's rotation with either X & YZ or Slerp Drive.
SimulationModeA selection of modes that control when Unity executes the physics simulation.