Ignore poke input in XRI

Using XRI, interactables get stuck on my finger. Can we ignore poke like the polyspatial manipulation sample?

Within ManipulationInputManager.cs you see

// Ignore poke input--piece will get stuck to the user's finger
if (spatialPointerState.Kind == SpatialPointerKind.Touch)

Within XRTouchSpaceInteractor.cs could we get the same? Maybe with a bool? something like:

if (ignorePoke && m_SpatialPointerState.Kind == SpatialPointerKind.Touch)
    return false;

The preferred way to do this with XRISelectFilter which you can apply per object or to all of XRI in the XRInteractionManager script in your scene.

For the template we ship a filter that does exactly this. I also noticed things getting stuck to my finger because it would transition to poke.

public class SpatialTapSelectFilter : MonoBehaviour, IXRSelectFilter

    public bool Process(IXRSelectInteractor interactor, IXRSelectInteractable interactable)

        var activeTouches = Touch.activeTouches;
        if (activeTouches.Count > 0)
            var primaryTouchData = EnhancedSpatialPointerSupport.GetPointerState(activeTouches[0]);

            return primaryTouchData.Kind == SpatialPointerKind.IndirectPinch || primaryTouchData.Kind == SpatialPointerKind.DirectPinch;

        return false;

    public bool canProcess => isActiveAndEnabled;