Immerse SDK
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Cursor

There are a few steps required in order to enable cursor interaction for your application.

XR Input Module

The XR Input Module extends Unity’s Standalone Input Module with some XR specific requirements.

A prefab has been included in the package to help set up the Event System and is designed so that it is easy for you to customize it to fit your requirements. To add this prefab to your scene, you can use this menu item GameObject > Immerse > UI > Event System. You should only ever have one of these in your scene at a time.

The Event System prefab

XR Graphic Raycaster

The XR Graphic Raycaster replaces Unity’s owner Graphic Raycaster. This new component is based on the original, only enabling it to work with the XR Input Module.

A context menu item has been added to the Graphic Raycaster component to make it easy to replace. Right click the existing Graphic Raycaster and select ‘Convert to XR Graphic Raycaster’.

It is important to use this component on all canvases that you want XR users to be able to interact with using the Cursor method.

The cursor will only be visible when it is over a UI element. This can make interaction difficult when elements are small or there are gaps in-between.

Place a transparent Image component within your canvas to set ‘bounds’ in which your cursor will always be visible.

XR UI Pointer

The XR UI Pointer component is what is used to interact with the UI. These components would typically be attached to the hands/controllers in the Avatar Prefab.

XRUIPointer component

Field Description
XR Node Which XRNode should be used for input
Pointer Origin Sets the origin and direction of the ray cast. If left empty, the attached Transform will be used
Scroll Speed Controls the speed of thumbstick scrolling