This version of Unity is unsupported.
Experimental: this API is experimental and might be changed or removed in the future.

XRRaycastSubsystem.Raycast

Declaration

public bool Raycast(Vector3 screenPoint, List<XRRaycastHit> hitResults, Experimental.XR.TrackableType trackableTypeMask);

Parameters

screenPoint The screen point from which to cast.
hitResults The resulting list of XRRaycastHit.
trackableTypeMask An optional mask of TrackableType to raycast against.

Description

Casts a ray from a screen point against selected trackables (e.g., planes and feature points).

Casts a ray from a screen position against selected trackables in the Scene. trackableTypeMask defaults to TrackableType.All.

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.XR;

public class RaycastExample : MonoBehaviour { public XRRaycastSubsystem xrRaycast; private List<XRRaycastHit> m_RaycastHits = new List<XRRaycastHit>();

private void Update() { if (Input.GetMouseButton(0)) { // Only raycast against feature points and the exact plane boundries var hitMask = TrackableType.FeaturePoint | TrackableType.PlaneWithinPolygon; if (xrRaycast.Raycast(Input.mousePosition, m_RaycastHits, hitMask)) { Debug.Log("Hit something!"); } } } }

Declaration

public static void Raycast(Ray ray, Experimental.XR.XRDepthSubsystem depthSubsystem, Experimental.XR.XRPlaneSubsystem planeSubsystem, List<XRRaycastHit> hitResults, Experimental.XR.TrackableType trackableTypeMask, float pointCloudRaycastAngleInDegrees);

Parameters

ray The Ray to use.
depthSubsystem The XRDepthSubsystem to raycast against. May be null.
planeSubsystem The XRPlaneSubsystem to raycast against. May be null.
hitResults The resulting list of XRRaycastHit.
trackableTypeMask An optional mask of TrackableType to raycast against.
pointCloudRaycastAngleInDegrees When raycasting against feature points, cast a cone with this angle.

Description

Casts a ray using ray against selected trackables (e.g., planes and feature points).

Use this method to raycast against selected trackables in the Scene. trackableTypeMask defaults to TrackableType.All.

When raycasting against TrackableType.FeaturePoint, Unity uses a cone defined by pointCloudRaycastAngleInDegrees. It defaults to 5 degrees.