3
\$\begingroup\$

this might seem like a silly question but I'm raycasting on specific objects (Targets) in a scene and zooming in on them but i also have a few UI elements (buttons, toggles...) on the side of the screen that need to always be visible because they provide certain functionalities (isolate target, switch view...).

The problem is that sometimes when i want to click on a certain UI element I unintentionally send a Raycast that changes my target. Moving the UI elements is not helpful since the objects occupy the whole screen. What other ways do I have to make sure I'm only clicking the UI element? (especially for smaller screens)

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

You can query EventSystem.Current.IsPointerOverGameObject() to check whether the mouse cursor is over a UI object associated with the EventSystem.

If it is, then you can refrain from firing your raycast, on the assumption that the player is trying to click the button, not select the 3D world behind the button.

\$\endgroup\$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.