Search Issue Tracker
Fixed in 5.4.0
Votes
1
Found in
5.1.1f1
Issue ID
725973
Regression
No
Physics 2D Raycaster triggers events on objects that are behind the camera
Reproduction steps:
1. Open the attached project
2. Open the "mainscene" scene
3. Set the main camera to orthographic, enable the attached Raycaster2D component, and disable the BetterRaycaster2D component
4. Enter play mode
5. In the game view hover your mouse cursor over the yellow sprite
--- You mouse over the sprite, you get a message in the Console
6. Exit play mode
7. Change the sprite's z-coordinate to -20
--- Which puts it behind the camera and out of view
7. Enter play mode
8. Mouse over where the sprite used to be
--- Note the console says the sprite is being moused over. This should not happen.
User suggested a fix:
The offending Unity code, as found at https://bitbucket.org/Unity-Technologies/ui/src/fadfa14d2a5cb8d6462db067e669b4b2bc11a018/UnityEngine.UI/EventSystem/Raycasters/Physics2DRaycaster.cs?at=4.6
var hits = Physics2D.RaycastAll(ray.origin, ray.direction, dist, finalEventMask);
They propose changing that to:
var hits = Physics2D.GetRayIntersectionAll(ray, dist, finalEventMask);
This change also fixes case 734723
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Spot Light with 'Box' Shape stops working when it collides with Mesh
- Accepting Asset Store EULA endless loop in Package Manager window
- “InvalidOperationException: Sequence contains no matching element“ error when reenabling a custom Debug Draw Mode
- Prefab that contains a layout group is marked as changed by the Editor when opened
- Emission animation does not appear when the "Emission Map" parameter is set to black in a Lit material
Add comment