docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IXRInteractionGroup

    An interface that represents an Interaction Group component that enforces that only one IXRGroupMember within the Group can interact at a time.

    Namespace: UnityEngine.XR.Interaction.Toolkit.Interactors
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [MovedFrom("UnityEngine.XR.Interaction.Toolkit")]
    public interface IXRInteractionGroup

    Properties

    activeInteractor

    The Interactor in this Interaction Group or any of its member Groups that is currently performing interaction.

    Declaration
    IXRInteractor activeInteractor { get; }
    Property Value
    Type Description
    IXRInteractor
    See Also
    XRInteractionGroup
    IXRGroupMember

    focusInteractable

    The Interactable that is currently being focused by an Interactor in this Interaction Group or any of its member Groups.

    Declaration
    IXRFocusInteractable focusInteractable { get; }
    Property Value
    Type Description
    IXRFocusInteractable
    See Also
    XRInteractionGroup
    IXRGroupMember

    focusInteractor

    The Interactor in this Interaction Group or any of its member Groups that initiated the last focus event.

    Declaration
    IXRInteractor focusInteractor { get; }
    Property Value
    Type Description
    IXRInteractor
    See Also
    XRInteractionGroup
    IXRGroupMember

    groupName

    The name of the interaction group, which can be used to retrieve it from the Interaction Manager.

    Declaration
    string groupName { get; }
    Property Value
    Type Description
    string
    See Also
    XRInteractionGroup
    IXRGroupMember

    Methods

    AddGroupMember(IXRGroupMember)

    Adds the given Group member to the end of the ordered list of members in the Group. Causes no change if the Group member is already added.

    Declaration
    void AddGroupMember(IXRGroupMember groupMember)
    Parameters
    Type Name Description
    IXRGroupMember groupMember

    The Group member to add.

    Remarks

    groupMember must implement either IXRInteractor or IXRInteractionGroup.

    See Also
    XRInteractionGroup
    IXRGroupMember

    ClearGroupMembers()

    Removes all Group members from the list of members.

    Declaration
    void ClearGroupMembers()
    See Also
    XRInteractionGroup
    IXRGroupMember

    ContainsGroupMember(IXRGroupMember)

    Checks whether the given Group member exists in the list of members.

    Declaration
    bool ContainsGroupMember(IXRGroupMember groupMember)
    Parameters
    Type Name Description
    IXRGroupMember groupMember

    The Group member to check for in the list.

    Returns
    Type Description
    bool

    Returns true if groupMember exists in the list. Otherwise, returns false.

    See Also
    XRInteractionGroup
    IXRGroupMember

    GetGroupMembers(List<IXRGroupMember>)

    Returns all members in the ordered list of Group members into List results.

    Declaration
    void GetGroupMembers(List<IXRGroupMember> results)
    Parameters
    Type Name Description
    List<IXRGroupMember> results

    List to receive Group members.

    Remarks

    This method populates the list with the Group members at the time the method is called. It is not a live view, meaning Group members added or removed afterward will not be reflected in the results of this method. Clears results before adding to it.

    See Also
    XRInteractionGroup
    IXRGroupMember

    HasDependencyOnGroup(IXRInteractionGroup)

    Checks whether the given Group is either the same as this Group or a dependency of any member Group.

    Declaration
    bool HasDependencyOnGroup(IXRInteractionGroup group)
    Parameters
    Type Name Description
    IXRInteractionGroup group

    The Group to check for as a dependency.

    Returns
    Type Description
    bool

    Returns true if group is either the same as this Group or a dependency of this Group. Otherwise, returns false.

    See Also
    XRInteractionGroup
    IXRGroupMember

    MoveGroupMemberTo(IXRGroupMember, int)

    Moves the given Group member to the specified index in the ordered list of members in the Group. If the member is not in the list, this can be used to insert the member at the specified index.

    Declaration
    void MoveGroupMemberTo(IXRGroupMember groupMember, int newIndex)
    Parameters
    Type Name Description
    IXRGroupMember groupMember

    The Group member to move or add.

    int newIndex

    New index of the Group member.

    Remarks

    groupMember must implement either IXRInteractor or IXRInteractionGroup.

    See Also
    XRInteractionGroup
    IXRGroupMember

    OnBeforeUnregistered()

    The XRInteractionManager calls this method just before this Interaction Group is unregistered from it.

    Declaration
    void OnBeforeUnregistered()
    Remarks

    This is where the Group should re-register its members with the Interaction Manager so that they are registered as not belonging to a Group.

    See Also
    UnregisterInteractionGroup(IXRInteractionGroup)

    OnFocusEntering(FocusEnterEventArgs)

    The XRInteractionManager calls this method right before the Interaction group first gains focus of an Interactable in a first pass.

    Declaration
    void OnFocusEntering(FocusEnterEventArgs args)
    Parameters
    Type Name Description
    FocusEnterEventArgs args

    Event data containing the Interaction group that is initiating the focus.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnFocusEntered(FocusEnterEventArgs)

    OnFocusExiting(FocusExitEventArgs)

    The XRInteractionManager calls this method right before the Interaction group loses focus of an Interactable in a first pass.

    Declaration
    void OnFocusExiting(FocusExitEventArgs args)
    Parameters
    Type Name Description
    FocusExitEventArgs args

    Event data containing the Interaction group that is losing focus.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnFocusExited(FocusExitEventArgs)

    OnRegistered(InteractionGroupRegisteredEventArgs)

    The XRInteractionManager calls this method when this Interaction Group is registered with it.

    Declaration
    void OnRegistered(InteractionGroupRegisteredEventArgs args)
    Parameters
    Type Name Description
    InteractionGroupRegisteredEventArgs args

    Event data containing the Interaction Manager that registered this Interaction Group.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    RegisterInteractionGroup(IXRInteractionGroup)

    OnUnregistered(InteractionGroupUnregisteredEventArgs)

    The XRInteractionManager calls this method when this Interaction Group is unregistered from it.

    Declaration
    void OnUnregistered(InteractionGroupUnregisteredEventArgs args)
    Parameters
    Type Name Description
    InteractionGroupUnregisteredEventArgs args

    Event data containing the Interaction Manager that unregistered this Interaction Group.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    UnregisterInteractionGroup(IXRInteractionGroup)

    PreprocessGroupMembers(UpdatePhase)

    The XRInteractionManager or containing IXRInteractionGroup calls this method to update the Group and its members before interaction events occur.

    Declaration
    void PreprocessGroupMembers(XRInteractionUpdateOrder.UpdatePhase updatePhase)
    Parameters
    Type Name Description
    XRInteractionUpdateOrder.UpdatePhase updatePhase

    The update phase during which this method is called.

    Remarks

    Please see the XRInteractionManager and XRInteractionUpdateOrder.UpdatePhase documentation for more details on update order.

    See Also
    XRInteractionUpdateOrder.UpdatePhase
    PreprocessInteractor(UpdatePhase)

    ProcessGroupMembers(UpdatePhase)

    The XRInteractionManager or containing IXRInteractionGroup calls this method to update the Group and its members after interaction events occur.

    Declaration
    void ProcessGroupMembers(XRInteractionUpdateOrder.UpdatePhase updatePhase)
    Parameters
    Type Name Description
    XRInteractionUpdateOrder.UpdatePhase updatePhase

    The update phase during which this method is called.

    Remarks

    Please see the XRInteractionManager and XRInteractionUpdateOrder.UpdatePhase documentation for more details on update order.

    See Also
    XRInteractionUpdateOrder.UpdatePhase
    ProcessInteractor(UpdatePhase)

    RemoveGroupMember(IXRGroupMember)

    Removes the given Group member from the list of members.

    Declaration
    bool RemoveGroupMember(IXRGroupMember groupMember)
    Parameters
    Type Name Description
    IXRGroupMember groupMember

    The Group member to remove.

    Returns
    Type Description
    bool

    Returns true if groupMember was removed from the list. Otherwise, returns false if groupMember was not found in the list.

    See Also
    XRInteractionGroup
    IXRGroupMember

    UpdateGroupMemberInteractions()

    The XRInteractionManager calls this method to update interactions for this Group's members. This is where interaction events occur for any IXRInteractor member.

    Declaration
    void UpdateGroupMemberInteractions()
    Remarks

    The implementation of this method should call UpdateGroupMemberInteractions(IXRInteractor, out IXRInteractor).

    See Also
    XRInteractionGroup
    IXRGroupMember

    UpdateGroupMemberInteractions(IXRInteractor, out IXRInteractor)

    Updates interactions for this Group's members, given an Interactor that has already been prioritized for interaction. This is where interaction events occur for any IXRInteractor member.

    Declaration
    void UpdateGroupMemberInteractions(IXRInteractor prePrioritizedInteractor, out IXRInteractor interactorThatPerformedInteraction)
    Parameters
    Type Name Description
    IXRInteractor prePrioritizedInteractor

    The Interactor that has already been prioritized for interaction. If not null, this prevents all other members in this Group from interacting.

    IXRInteractor interactorThatPerformedInteraction

    The Interactor in this Group or any of its member Groups that performed interaction as a result of this method call. This will be null if no Interactor performed interaction.

    Remarks

    The implementation of this method should call this method on each member that is an IXRInteractionGroup. After this method is called, activeInteractor should return the same reference as interactorThatPerformedInteraction.

    See Also
    XRInteractionGroup
    IXRGroupMember

    Events

    registered

    Calls the methods in its invocation list when this Interaction Group is registered with an Interaction Manager.

    Declaration
    event Action<InteractionGroupRegisteredEventArgs> registered
    Event Type
    Type Description
    Action<InteractionGroupRegisteredEventArgs>
    Remarks

    The InteractionGroupRegisteredEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    interactionGroupRegistered

    unregistered

    Calls the methods in its invocation list when this Interaction Group is unregistered from an Interaction Manager.

    Declaration
    event Action<InteractionGroupUnregisteredEventArgs> unregistered
    Event Type
    Type Description
    Action<InteractionGroupUnregisteredEventArgs>
    Remarks

    The InteractionGroupUnregisteredEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    interactionGroupUnregistered

    See Also

    XRInteractionGroup
    IXRGroupMember
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)