I have come across the following differences between 3D and 2D physics.
Would help if somebody could clarify these points.
I discovered that if two Kinematic Rigidbodies interact, NO Trigger Events are fired, where as it would work in 3D.
Is this intended behaviour or a bug?
RigidbodyConstraints for 2D is missing. Why is this not included?
same here, i am novice in unity but same as you i started my project in 3D physics ignoring/locking the Z for a 2D game and switched to real 2D in the new unity version , but there is a lot of stuff that is different or missing, these are the thing i miss
HingeJoint2D.angle does not exist but it does in 3D
HingeJoint2D.motor.motorSpeed exist , but which one is the variable for “Maximum Motor Force” (that’s on editor), the script reference in unity website is missing ( Unity - Scripting API: HingeJoint2D.motor )
anyway i am pleased with the 2D engine, its much more stable than the 3D, just like Box2D and the one inside Corona SDK , rigid bodies won’t vibrate like crazy when interact to each other, my project was having awkward behavior all the time on 3D , but now is ok
For OnTriggerEnter
This message is sent to the trigger collider and the rigidbody (if any) that the trigger collider belongs to, and to the rigidbody (or the collider if there is no rigidbody) that touches the trigger. Note that trigger events are only sent if one of the colliders also has a rigidbody attached.
For OnTriggerEnter2D
This message is sent only to the trigger collider and the collider that touches the trigger. Trigger events are only sent if one of the colliders also has a rigidbody attached somewhere in the trigger itself or in one of its parent gameobjects.
In 3D, If Parent Moves, its kinematic children move along with it.
In 2D, If Parent Moves, its kinematic rigidbody children don’t move along with it.
What should be the actual behaviour of the 2D Physics?
The above behaviour differences have been resolved in 4.5.
There’s also a few extra things being added to 4.5 patch releases that resolve the final issues.
The MovePosition issue you mention has been fixed and will be in a forthcoming patch release (keep an eye-out for the release notes).
A ray/line casts starting inside a collider will have an option to allow you to select whether you want this behaviour or not (to be released as part of the same patch release).