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.
To attach custom data to an object you create using the LowLevelPhysics2D API, use the PhysicsUserData type.
You can attach data to the following types:
WorldBodyShapeChainJointFollow these steps:
Create a PhysicsUserData instance and populate it with your custom fields. For example:
PhysicsUserData physicsUserData = new PhysicsUserData
{
customObject = this,
customBool = true,
customFloat = 123.4f,
customInt = 567,
customPhysicsMask = PhysicsMask.All
};
Assign a PhysicsUserData instance to the userData property of the physics object. For example, to assign the custom data to a shape:
myShape.userData = physicsUserData;
To fetch the data, for example when you detect a collision, get the userData property of the physics object. For example:
Debug.Log(myShape.userData.intValue);