Hello!
I've encountered an issue that may be completely our own project's fault, but I haven't been able to figure it out. We are working on upgrading from Unity 5.6 to Unity 2017.2 and in doing so, we have noticed our NGUI based UI has a strange issue. When we resize the screen, or when UI elements get moved, their colliders don't seem to update properly. They look fine in scene view, but raycasts don't hit them when they should, they instead hit where the colliders used to be before the element was moved or the screen was resized.
As an example, say we have a UISlider with the thumb being a sprite with a collider on it. Resize the screen, collider position doesn't seem to update for raycasts. If I add a rigidbody to collider gameobject, it works just fine when resizing the screen. It worked just fine in Unity 5.6 with no rigid body. Any ideas about what could be causing this? As another test, we removed all rigidbodies from UI (including UIPanels) and the UI still all worked just fine in 5.6. In 2017.2 with no rigid bodies on panels, things were all kinds of haywire. But unfortunately it now seems EVERY UI collider would need a rigid body to work properly....
I haven't been able to repro any issues with the base NGUI and example scenes provided in Unity 2017.2, so I guess it is likely an issue on our end. We do have some custom changes to NGUI, but I can't think of any of them that would cause this issue.
I guess I'm just wondering if anyone else has run into this, or if anyone has any ideas on what would cause this and how to fix it without adding a million rigidbodies to our UI.