Search Issue Tracker
Fixed in 2018.2.X
Fixed in 2018.1.X
Votes
0
Found in
2017.2.0b5
2018.2.0a1
Issue ID
999627
Regression
Yes
[Physics2D] OnCollisionEnter2D Collision2D.contacts returns an empty array
A fast moving projectile that collides with a corner of two colliders returns an empty array of contacts in the OnCollisionEnter2D event.
To repro:
1) Open the "repro.unitypackage" and the scene "LiteralCornerCase".
2) Notice the setup - there are two box 2d colliders that form a corner and a bullet that is about to hit that corner at a high speed.
3) Enter play mode
4) Notice the "Got zero contacts!" log in the console, indicating the issue.
Removing either of the blocks that form the corner prevents this issue. Reducing the velocity of the bullet also prevents this issue.
The problem is in destroying the bullet inside the OnCollisionEnter2D event - this messes up any future contact checks. Since there are two blocks to be collided with, one gets the collision event and destroys the bullet. The other also gets the collision event, but the bullet has already been prepped for destruction, thus all contacts return 0.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Add comment