docs.unity3d.com
    Show / Hide Table of Contents

    Class ARPlacementInteractable

    Controls the placement of Prefabs via a tap gesture.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseInteractable
    ARBaseGestureInteractable
    ARPlacementInteractable
    Inherited Members
    ARBaseGestureInteractable.xrOrigin
    ARBaseGestureInteractable.gestureInteractor
    ARBaseGestureInteractable.Reset()
    ARBaseGestureInteractable.Awake()
    ARBaseGestureInteractable.OnEnable()
    ARBaseGestureInteractable.IsHoverableBy(IXRHoverInteractor)
    ARBaseGestureInteractable.IsSelectableBy(IXRSelectInteractor)
    ARBaseGestureInteractable.CanStartManipulationForGesture(DragGesture)
    ARBaseGestureInteractable.CanStartManipulationForGesture(PinchGesture)
    ARBaseGestureInteractable.CanStartManipulationForGesture(TwistGesture)
    ARBaseGestureInteractable.CanStartManipulationForGesture(TwoFingerDragGesture)
    ARBaseGestureInteractable.OnStartManipulation(DragGesture)
    ARBaseGestureInteractable.OnStartManipulation(PinchGesture)
    ARBaseGestureInteractable.OnStartManipulation(TapGesture)
    ARBaseGestureInteractable.OnStartManipulation(TwistGesture)
    ARBaseGestureInteractable.OnStartManipulation(TwoFingerDragGesture)
    ARBaseGestureInteractable.OnContinueManipulation(DragGesture)
    ARBaseGestureInteractable.OnContinueManipulation(PinchGesture)
    ARBaseGestureInteractable.OnContinueManipulation(TapGesture)
    ARBaseGestureInteractable.OnContinueManipulation(TwistGesture)
    ARBaseGestureInteractable.OnContinueManipulation(TwoFingerDragGesture)
    ARBaseGestureInteractable.OnEndManipulation(DragGesture)
    ARBaseGestureInteractable.OnEndManipulation(PinchGesture)
    ARBaseGestureInteractable.OnEndManipulation(TwistGesture)
    ARBaseGestureInteractable.OnEndManipulation(TwoFingerDragGesture)
    ARBaseGestureInteractable.IsGameObjectSelected()
    ARBaseGestureInteractable.ConnectGestureInteractor()
    ARBaseGestureInteractable.DisconnectGestureInteractor()
    ARBaseGestureInteractable.OnRegistered(InteractableRegisteredEventArgs)
    ARBaseGestureInteractable.OnUnregistered(InteractableUnregisteredEventArgs)
    ARBaseGestureInteractable.arSessionOrigin
    ARBaseGestureInteractable.IsHoverableBy(XRBaseInteractor)
    ARBaseGestureInteractable.IsSelectableBy(XRBaseInteractor)
    XRBaseInteractable.registered
    XRBaseInteractable.unregistered
    XRBaseInteractable.getDistanceOverride
    XRBaseInteractable.interactionManager
    XRBaseInteractable.colliders
    XRBaseInteractable.interactionLayers
    XRBaseInteractable.distanceCalculationMode
    XRBaseInteractable.selectMode
    XRBaseInteractable.customReticle
    XRBaseInteractable.firstHoverEntered
    XRBaseInteractable.lastHoverExited
    XRBaseInteractable.hoverEntered
    XRBaseInteractable.hoverExited
    XRBaseInteractable.firstSelectEntered
    XRBaseInteractable.lastSelectExited
    XRBaseInteractable.selectEntered
    XRBaseInteractable.selectExited
    XRBaseInteractable.activated
    XRBaseInteractable.deactivated
    XRBaseInteractable.interactorsHovering
    XRBaseInteractable.isHovered
    XRBaseInteractable.interactorsSelecting
    XRBaseInteractable.firstInteractorSelecting
    XRBaseInteractable.isSelected
    XRBaseInteractable.OnDisable()
    XRBaseInteractable.OnDestroy()
    XRBaseInteractable.GetAttachTransform(IXRInteractor)
    XRBaseInteractable.GetAttachPoseOnSelect(IXRSelectInteractor)
    XRBaseInteractable.GetLocalAttachPoseOnSelect(IXRSelectInteractor)
    XRBaseInteractable.GetDistanceSqrToInteractor(IXRInteractor)
    XRBaseInteractable.GetDistance(Vector3)
    XRBaseInteractable.AttachCustomReticle(IXRInteractor)
    XRBaseInteractable.RemoveCustomReticle(IXRInteractor)
    XRBaseInteractable.CaptureAttachPose(IXRSelectInteractor)
    XRBaseInteractable.ProcessInteractable(XRInteractionUpdateOrder.UpdatePhase)
    XRBaseInteractable.IXRInteractable.OnRegistered(InteractableRegisteredEventArgs)
    XRBaseInteractable.IXRInteractable.OnUnregistered(InteractableUnregisteredEventArgs)
    XRBaseInteractable.IXRActivateInteractable.OnActivated(ActivateEventArgs)
    XRBaseInteractable.IXRActivateInteractable.OnDeactivated(DeactivateEventArgs)
    XRBaseInteractable.IXRHoverInteractable.IsHoverableBy(IXRHoverInteractor)
    XRBaseInteractable.IXRHoverInteractable.OnHoverEntering(HoverEnterEventArgs)
    XRBaseInteractable.IXRHoverInteractable.OnHoverEntered(HoverEnterEventArgs)
    XRBaseInteractable.IXRHoverInteractable.OnHoverExiting(HoverExitEventArgs)
    XRBaseInteractable.IXRHoverInteractable.OnHoverExited(HoverExitEventArgs)
    XRBaseInteractable.IXRSelectInteractable.IsSelectableBy(IXRSelectInteractor)
    XRBaseInteractable.IXRSelectInteractable.OnSelectEntering(SelectEnterEventArgs)
    XRBaseInteractable.IXRSelectInteractable.OnSelectEntered(SelectEnterEventArgs)
    XRBaseInteractable.IXRSelectInteractable.OnSelectExiting(SelectExitEventArgs)
    XRBaseInteractable.IXRSelectInteractable.OnSelectExited(SelectExitEventArgs)
    XRBaseInteractable.OnHoverEntering(HoverEnterEventArgs)
    XRBaseInteractable.OnHoverEntered(HoverEnterEventArgs)
    XRBaseInteractable.OnHoverExiting(HoverExitEventArgs)
    XRBaseInteractable.OnHoverExited(HoverExitEventArgs)
    XRBaseInteractable.OnSelectEntering(SelectEnterEventArgs)
    XRBaseInteractable.OnSelectEntered(SelectEnterEventArgs)
    XRBaseInteractable.OnSelectExiting(SelectExitEventArgs)
    XRBaseInteractable.OnSelectExited(SelectExitEventArgs)
    XRBaseInteractable.OnActivated(ActivateEventArgs)
    XRBaseInteractable.OnDeactivated(DeactivateEventArgs)
    XRBaseInteractable.interactionLayerMask
    XRBaseInteractable.onFirstHoverEntered
    XRBaseInteractable.onLastHoverExited
    XRBaseInteractable.onHoverEntered
    XRBaseInteractable.onHoverExited
    XRBaseInteractable.onSelectEntered
    XRBaseInteractable.onSelectExited
    XRBaseInteractable.onSelectCanceled
    XRBaseInteractable.onActivate
    XRBaseInteractable.onDeactivate
    XRBaseInteractable.onFirstHoverEnter
    XRBaseInteractable.onHoverEnter
    XRBaseInteractable.onHoverExit
    XRBaseInteractable.onLastHoverExit
    XRBaseInteractable.onSelectEnter
    XRBaseInteractable.onSelectExit
    XRBaseInteractable.onSelectCancel
    XRBaseInteractable.OnHoverEntering(XRBaseInteractor)
    XRBaseInteractable.OnHoverEntered(XRBaseInteractor)
    XRBaseInteractable.OnHoverExiting(XRBaseInteractor)
    XRBaseInteractable.OnHoverExited(XRBaseInteractor)
    XRBaseInteractable.OnSelectEntering(XRBaseInteractor)
    XRBaseInteractable.OnSelectEntered(XRBaseInteractor)
    XRBaseInteractable.OnSelectExiting(XRBaseInteractor)
    XRBaseInteractable.OnSelectExited(XRBaseInteractor)
    XRBaseInteractable.OnSelectCanceling(XRBaseInteractor)
    XRBaseInteractable.OnSelectCanceled(XRBaseInteractor)
    XRBaseInteractable.OnActivate(XRBaseInteractor)
    XRBaseInteractable.OnDeactivate(XRBaseInteractor)
    XRBaseInteractable.GetDistanceSqrToInteractor(XRBaseInteractor)
    XRBaseInteractable.AttachCustomReticle(XRBaseInteractor)
    XRBaseInteractable.RemoveCustomReticle(XRBaseInteractor)
    XRBaseInteractable.hoveringInteractors
    XRBaseInteractable.selectingInteractor
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Component.rigidbody
    Component.rigidbody2D
    Component.camera
    Component.light
    Component.animation
    Component.constantForce
    Component.renderer
    Component.audio
    Component.networkView
    Component.collider
    Component.collider2D
    Component.hingeJoint
    Component.particleSystem
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectOfType<T>()
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.ToString()
    Object.name
    Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.Interaction.Toolkit.AR
    Syntax
    [AddComponentMenu("XR/AR Placement Interactable", 22)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.1/api/UnityEngine.XR.Interaction.Toolkit.AR.ARPlacementInteractable.html")]
    public class ARPlacementInteractable : ARBaseGestureInteractable, IXRActivateInteractable, IXRHoverInteractable, IXRSelectInteractable, IXRInteractable

    Properties

    fallbackLayerMask

    The LayerMask that Unity uses during an additional ray cast when a user touch does not hit any AR trackable planes.

    Declaration
    public LayerMask fallbackLayerMask { get; set; }
    Property Value
    Type Description
    LayerMask

    objectPlaced

    Gets or sets the event that is called when this Interactable places a new GameObject in the world.

    Declaration
    public ARObjectPlacementEvent objectPlaced { get; set; }
    Property Value
    Type Description
    ARObjectPlacementEvent

    onObjectPlaced

    Gets or sets the event that is called when this Interactable places a new GameObject in the world.

    Declaration
    [Obsolete("onObjectPlaced has been deprecated. Use objectPlaced with updated signature instead.")]
    public ARObjectPlacedEvent onObjectPlaced { get; set; }
    Property Value
    Type Description
    ARObjectPlacedEvent
    Remarks

    onObjectPlaced has been deprecated. Use objectPlaced with updated signature instead.

    placementPrefab

    A GameObject to place when a ray cast from a user touch hits a plane.

    Declaration
    public GameObject placementPrefab { get; set; }
    Property Value
    Type Description
    GameObject

    Methods

    CanStartManipulationForGesture(TapGesture)

    Determines if the manipulation can start for the given gesture.

    Declaration
    protected override bool CanStartManipulationForGesture(TapGesture gesture)
    Parameters
    Type Name Description
    TapGesture gesture

    The current gesture.

    Returns
    Type Description
    Boolean

    Returns true if the manipulation can start. Otherwise, returns false.

    Overrides
    ARBaseGestureInteractable.CanStartManipulationForGesture(TapGesture)

    OnEndManipulation(TapGesture)

    Unity calls this method automatically when the manipulation ends.

    Declaration
    protected override void OnEndManipulation(TapGesture gesture)
    Parameters
    Type Name Description
    TapGesture gesture

    The current gesture.

    Overrides
    ARBaseGestureInteractable.OnEndManipulation(TapGesture)
    See Also
    onFinished

    OnObjectPlaced(ARObjectPlacementEventArgs)

    Unity calls this method automatically when the user places an object.

    Declaration
    protected virtual void OnObjectPlaced(ARObjectPlacementEventArgs args)
    Parameters
    Type Name Description
    ARObjectPlacementEventArgs args

    Event data containing a reference to the instantiated placement object.

    PlaceObject(Pose)

    Instantiates the placement object and positions it at the desired pose.

    Declaration
    protected virtual GameObject PlaceObject(Pose pose)
    Parameters
    Type Name Description
    Pose pose

    The pose at which the placement object will be instantiated.

    Returns
    Type Description
    GameObject

    Returns the instantiated placement object at the input pose.

    See Also
    placementPrefab

    TryGetPlacementPose(TapGesture, out Pose)

    Gets the pose for the object to be placed from a ray cast hit triggered by a TapGesture.

    Declaration
    protected virtual bool TryGetPlacementPose(TapGesture gesture, out Pose pose)
    Parameters
    Type Name Description
    TapGesture gesture

    The tap gesture that triggers the ray cast.

    Pose pose

    When this method returns, contains the pose of the placement object based on the ray cast hit.

    Returns
    Type Description
    Boolean

    Returns true if there is a valid ray cast hit that hit the front of a plane. Otherwise, returns false.

    Extension Methods

    XRHoverInteractableExtensions.GetOldestInteractorHovering(IXRHoverInteractable)
    XRSelectInteractableExtensions.GetOldestInteractorSelecting(IXRSelectInteractable)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023