iOS Plane Detection Strange Behavior

Include the following details while filing a bug report (edit as applicable):

  • Issue category: Plane Detection
  • Device type & OS version: iPhone 12 on iOS 16.1 & 16.2
  • Issue Environment : On Device
  • Xcode version: 14.2
  • ARDK version: 2.2.0 & 2.3.1
  • Unity version: 2021.3.9f1

I’m working on a small team of people, most of us with different phones. Today, one of us stopped being able to place objects on planes. This is because we switched from using IARFrame.HitTest to using Physics.Raycast with a collider on the plane object prefab. Come to find out that he has never even seen the plane dot graphic. Their phone information is listed above.

This is an ongoing issue that has high priority, so I will do my best to keep this post up to date with everything I’ve tested. Please still provide help and advice despite this.
What I know so far:

  • HitTest seems to find planes fine (though it’s always been a bit unpredictable on this device)
  • Physics.Raycast cannot find any planes
  • We cannot see the planes dot graphic on the effected device
  • This is all only happening on this one device
  • I thought the plane manager wasn’t creating game objects for the planes, but after testing thoroughly, it does at some point create some planes, but it took over a minute in the AR scene for one to be created. (video of test attached, the text only counts plane game objects created)
  • To be on the safe side, we tested with the latest version of the ARDK. There was no change in behavior unfortunately.
  • The 4 or so plane game objects that were created in the video attached are very small or very far away. We know this because I have a script that would have created an arrow pointing to the plane if it was good enough for us to use.
  • We updated the phone to iOS 16.2 from 16.1, and it was finally able to find and display a plane, but it still took it a while compared to other phones and the framerate was suffering for some reason.

What I’m going to test:

  • It seems like maybe the Plane Manager isn’t creating any game objects for the detected planes. I will be creating a build to try and confirm this. (TESTED)
  • We are using a older version of Lightship because we have not had the time to dedicate to an upgrade yet. I will create a simple build of the example placement scene on the latest version to see if the problem persists. (TESTED)

Attachments

Hello Sean,

Thank you for all the detailed information.

I will escalate this to the team so they can test these functions on this specific device, but this unfortunately may not be addressed immediately due to the holiday season. I understand this is a high-priority issue for you so I apologize for the inconvenience, but I will be sure to provide updates as soon as I have any information.

Hello Sean,

Thank you for your patience.

Have you had any more success with your testing? After consulting the team, we’ve determined that there should not be any noticeable performance issues on the ARDK side for your specific device.
In regards to the raycasts failing, you may find more useful information through Unity’s forum and their community.

No, there has not been any success or improvements since the original post.

The issue is not with Unity’s physics Raycast, but with the ARDK not generating Game Objects for detected planes (As you can clearly see in the video I attached). This is true both in our current project and in an entirely fresh example scene shipped with the ARDK.

We’ve been forced to pivot our algorithms to be using Real-time Meshing instead of Planefinding because of this problem. Just because there shouldn’t be an issue doesn’t mean there isn’t.