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
- Frame Debugger's Hierarchy is not navigable when connecting it to the project built with the Volumetric Fog
- The number of SetPass Calls is increasing when attaching the Frame Debugger to the Player
- Scrollbar briefly appears in the Package Manager during installation process even when the package list is too short to require scrolling
- Script resets to use the previous Skybox color when saving the Scene changes
- [2D] Sprite Library Editor window throws NullReferenceException error when entering Play Mode with Game View maximised
Add comment