I've run into some problems with supporting controllers in a seamless fashion on standalone builds with NGUI, and could use some recommendations.
Mouse and keyboard/controller navigation can end up appearing to fight and have two objects in highlighted state at once. This is especially confusing for users when they leave a mouse directly over a selectable object and switch over to controller or keyboard for menu navigation. It just looks like a button is "stuck" in on position.
I think part of this is due to the fact that UIButtonKeys uses selectedObject to maintain state, whereas ProcessMouse uses mHover to track its currently highlighted element internally. I was thinking about trying to modify UICamera to make a public hoveredObject property and use that through UIButtonKeys, but thought I would post here first to see if I'm barking up the wrong tree.
It's pretty simple to make mouse selections override any existing selectedObject on the camera, but trying to make new keyboard events clear mouse focus is harder because it probably involves hiding the mouse, ignoring mouse events, etc. when keys or buttons are pressed.
I was thinking that this was a strange corner case, but it's actually really common that users open an application with the mouse, then switch over to gamepad with the mouse sitting in the middle of the screen somewhere. It would be nice if I could get switching between input formats to work more or less seamlessly, so if you have any recommendations on whether to do that (or to just ignore it) then I'm all ears. Thanks in advance!