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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Add comment