5
\$\begingroup\$

I've been working with UI in my project as of late and I can't figure out what Unity's event system is supposed to return for currentSelectedGameObject.

if (EventSystem.current.currentSelectedGameObject != null)
{
    Debug.Log(EventSystem.current.currentSelectedGameObject.name);
}

With the code above I figured that it should return something when I'm moving the mouse across the various UI elements. Unity's documentation appears to be poor on this function stating:

The GameObject currently considered active by the EventSystem.

maybe I'm just being stupid but does anyone know what triggers currentSelectedGameObject?

\$\endgroup\$
4
\$\begingroup\$

The currentSelectedGameObject is not updated by simple mouse-over, as far as I'm aware.

Instead, it's more analogous to moving through an interface with tab. In the Unity UI system, you can move around between buttons with the keyboard. I think you'll find that behaves as expected.

If you want to know what UI object the mouse is over, I believe you'll need to implement that manually.

Quoting from: (4.6 UI) How to detect mouse over on button on answers.unity3d.com.

  • Add an event trigger component to your button game object.
  • Click on Add New button and select PointerEnter.
  • Now click on + button to add a new item to the list of event of type PointerEnter(BaseEventData).
  • Select the object containing your script.
  • Now select the function to be called from the list of functions.
\$\endgroup\$
3
  • \$\begingroup\$ Ahh that makes sense. why not mention that in the documentation though... \$\endgroup\$ Dec 30 '15 at 23:17
  • \$\begingroup\$ Agreed - it is an odd oversight in the docs, with broken links and all that lovely jazz. I think it's a consequence of the EventSystem existing before the 4.6 UI update, so there's misalignment between them. \$\endgroup\$ Dec 30 '15 at 23:20
  • \$\begingroup\$ I talked to one of the documentation staff at a Unity conference about this and it was noted down. So hopefully they will look at this soon. \$\endgroup\$ Aug 15 '17 at 15:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .