How to get UI Poke Interactions working on a Grabbable in XRI 2.5.2

In my game I have a phone/tablet device which has XR UI components (basically, apps on the phone screen). They work fine with the XR Grab Interactable disabled, but as soon as I enable this component, the poke interactions stop working. This is before I am holding the grabbable object. I’ve tried to use Interaction Layers but not really progressed at all, so I’m hoping someone can point me to an example project where a grabbable item has working (Poke-able) XR UI components on it. Thanks!

Background:

I started from this blog post and the hands/pokes demo, all of which is excellent:

I also went through this special demo scene posted by Eric Provencher

Which he talked about in this LinkedIn post (might require a LinkedIn account):

It sounds like you’re working with XR Interaction Toolkit (XRI) 2.5.2 in Unity and experiencing issues with UI Poke Interactions when the XR Grab Interactable component is enabled. I’ll provide you with some general guidance on how you might resolve this issue. Note that specific details might vary depending on your project setup, so consider adapting the suggestions accordingly.

1. Interaction Layers:

  • Ensure that your XR UI components and XR Grab Interactable are on different interaction layers.
  • In the XR Interaction Manager, you can set up Interaction Layers to define which objects can interact with each other. Make sure that your XR UI components and the XR Grab Interactable object are on different layers.

2. Event System:

  • Ensure that your XR UI components are using a different Event System than the one used by the XR Interaction Toolkit. Each XR UI canvas should have its own Event System, separate from the global one.

3. Update XR Plugin:

  • Check if there are updates to the XR Interaction Toolkit or your XR plugin. Sometimes, issues like these get resolved in newer releases.

4. Input Modules:

  • Verify that you have the appropriate XR UI input modules set up. For example, the XRUIInputModule should be configured correctly to handle XR interactions.

5. Interaction Manager Configuration:

  • In the XR Interaction Manager component, make sure that the “Enable in Editor” option is checked. Sometimes, interaction issues might be related to the editor settings.

6. Debugging:

  • Use the Unity Editor’s Play mode to inspect what might be happening. Check the console for any error messages or warnings related to interactions.

7. Example Projects:

  • Check the official Unity forums, XR Interaction Toolkit documentation, or GitHub repositories for example projects or discussions related to similar issues.

8. Community Support:

  • Reach out to the Unity XR community or the XR Interaction Toolkit community for assistance. Other developers may have encountered similar challenges and can provide insights or solutions.

9. Documentation and Release Notes:

  • Review the documentation and release notes for the XR Interaction Toolkit. There might be specific information or considerations related to UI interactions and XR Grab Interactable in the version you’re using.

10. Custom Scripting:

  • If necessary, you might need to implement custom scripts to manage interactions between XR UI components and XR Grab Interactable based on your specific use case.

Remember to backup your project before making significant changes, and always test solutions in a controlled environment.