Direction data not available with U2 chip (iPhone 15 Pro and iPhone 16 Pro) when using Murata SR040/SR150 accessory

Hello,

I am developing with the Nearby Interaction framework using third-party UWB accessories (Murata SR040/SR150). I observed a difference between U1-based and U2-based iPhones:

iPhone 12 Pro (U1 chip)

NINearbyObject.direction returns valid 3D vector (x, y, z).

Distance and direction both work as expected.

iPhone 15 Pro and iPhone 16 Pro (U2 chip)

NINearbyObject.direction is always nil.

Only distance is returned (around 0.35–0.40 m in my test).

Effectively behaves as "distance-only mode".

Environment:

Hardware: iPhone 12 Pro, iPhone 15 Pro

iOS version: 18.5

Accessory: Murata UWB SR040 / SR150

App: Using NINearbyAccessoryConfiguration with BLE-based discovery

Info.plist includes NSNearbyInteractionUsageDescription

Camera assistance was tested both ON and OFF

Expectation: I expected the U2 chip to behave consistently with U1, i.e. provide direction vectors when possible. Instead, on iPhone 15 Pro, direction is always unavailable (nil) while distance is returned correctly.

Questions:

Is this an intentional limitation for U2 chip + third-party accessories?

Is there a new requirement (e.g. certification, firmware update, capability flags) to enable direction on U2 devices?

Could this be related to NIDeviceCapability or the new Extended Distance Measurement (EDM) mode in U2?

Thanks in advance for any clarification.

I’m having the same problem. I think U2 chips should be better than U1 chips, but it’s strange because U2 chips don’t recognize elevation. I’d appreciate it if you could share it when you solve the problem.

I'm having this same issue, with slight variation: iPhone 12 and 13 show direction, iPhone 14 and 15 do not.

I’m having the same problem. I’d appreciate it if you could share it when you solve the problem.

Having a similar problem, although I'm not sure if it's related to iOS26 or phones with the U2 chip.

I am doing peer to peer rather then peer to object, but figured I'd share my findings.

iPhone 16 Pro (U2 chip), iOS 26.3.1:

NISession created — capabilities:
  token: true
  supportsDirection: false
  supportsCameraAssistance: true
  supportsExtendedDistanceMeasurement: true
  supportsPreciseDistanceMeasurement: true

iPhone 12 (U1 chip), iOS 18.6.2:

NISession created — capabilities:
  token: true
  supportsDirection: true
  supportsCameraAssistance: true
  supportsExtendedDistanceMeasurement: false
  supportsPreciseDistanceMeasurement: true

What I've found so far:

16 Pro / U2 / iOS 26 (?)

  1. 3D direction vector is never available
  2. Camera seems to be required for directional convergence
  3. Everything seems to be determined by hAngle
  4. Seems to start an NI session with dirSrc as 'none' and then resolves to 'hAngle' after camera convergence is complete

12 / U1 / iOS 18

  1. Seems to start an NI session with 'hAngle' as its dirSrc before resolving to '3D'.

FYI, placing both a 16 Pro and a 12 face down on a table with rear cameras covered after both devices have established position and relative distance: 12 continues to show position with a dirSrc of '3D'; 16 Pro tells me to "Move to a brighter area" with a dirSrc of 'none'

If anyone has experienced anything differently with NISessions, would love to hear it.

Direction data not available with U2 chip (iPhone 15 Pro and iPhone 16 Pro) when using Murata SR040/SR150 accessory
 
 
Q