How to reproduce:
1. Open the attached project “IN-145393“
2. Open scene “SampleScene”
3. Enter Play Mode with an OpenXR headset connected and tracking
4. Hold the “Space” key
5. Observe the Console
Actual result: "WAS NOT PERFORMED" error appears in the Console
Expected result: WasPerformedThisFrame returns true on the same frame and no error is logged in the Console
Reproducible with: 1.10.0 (6000.0.0f1), 1.19.0 (6000.0.78f1, 6000.3.19f1, 6000.5.3f1, 6000.6.0b1, 6000.7.0a2)
Reproducible on: Windows 11
Not reproducible on: No other environments tested
Reproducible on devices:
Meta Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650
Meta Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno (TM) 740
Notes:
- Reproducible with OpenXR 1.18.0-pre.2
- Not reproducible when the headset is disconnected
- Update Mode is set to Dynamic Update
- Suspected root cause: the OpenXR runtime causes input event processing / TriggerState updates to be applied later in the frame than the Update phase, so WasPerformedThisFrame is evaluated before the phase transition is committed