Search Issue Tracker
Fixed in 2020.1.X
Fixed in 2019.3.X
Votes
1
Found in
2019.1.0a12
2019.2.0a1
2019.2.0f1
2019.3.0a1
Issue ID
1174546
Regression
No
OverlapCollider() registers an overlap only at specific points when a CompositeCollider2D with Outlines Geometry is used
How to reproduce:
1. Open the "Main" Scene in the attached "case_1174546-Composite_Collider_Bug" project
2. Enter Playmode
3. Open the Scene Window
4. Drag the Gray box to make its collider overlap completely with a green box collider
Expected results: Gray boxes that have their colliders overlap with green box colliders at any point become red
Actual results: Only gray boxes with colliders that overlap with the left edge of green box collider become red
Reproducible with: 2019.1.14f1, 2019.2.1f1, 2019.3.0a12
Additional notes:
1. Such an issue occurs only when Outline Geometry is set. Setting the Geometry to Polygons fixes the problem, but it is not a solution when a collision needs to be calculated outside the GameObject visual.
2. Project in versions before 2019.1.0a12 could not be compiled due to missing references to asmdef files.
Comments (1)
-
Missile_
Oct 05, 2019 19:05
Still happening in version 2019.3.0b5 personal edition.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Manual reference page for Grid Selection is missing
- Awaitable.NextFrameAsync causes GC Alloc 0.7 KB when using CancellationToken
- Prefab "Overrides" list item popups are overridden when navigating with keyboard arrow keys
- Alpha Tolerance setting does not affect generated outlines when generating Custom Physics Shape in the Sprite Editor
- The information/help message section misses a margin in the "Profiler" window
Resolution Note (fix version 2020.1):
Internal overlap AABB was being calculated incorrectly. Also the edge-radius wasn't being taken into account.
Resolution Note (fix version 2019.3):
Internal overlap AABB was being calculated incorrectly. Also the edge-radius wasn't being taken into account.