@Rectus_SA Thanks for your reply! I have tried what you commented and I added a few comments just after xrWaitFrame() and where LocateViews() is called.
Here is the log:
`[2022.08.15-11.19.08:480][ 92]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 0 AsyncPackages
[2022.08.15-11.19.08:845][113]LogBlueprintUserMessages: [BP_Character_VR_C_2147482176] Local X: Avatar Ready
[2022.08.15-11.19.09:035][132]LogBlueprintUserMessages: [BP_Character_VR_C_2147482176] Local X: VRIH Ready
[2022.08.15-11.19.13:662][766]LogHMD: FOpenXRHMD::Enumerate_Views() :: predictedDisplayTime id : 0
[2022.08.15-11.19.13:662][766]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2022.08.15-11.19.13:664][766]LogHMD: FOpenXRHMD::OnBeginRendering_GameThread() ::xrWaitFrame predictedDisplayTime id : 261659264356899
[2022.08.15-11.19.13:667][766]LogHMD: FOpenXRHMD::Enumerate_Views() :: predictedDisplayTime id : 261659264356899
[2022.08.15-11.19.18:000][767]LogWindows: Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient-Win64-Debug.exe
[2022.08.15-11.19.18:000][767]LogMemory: Platform Memory Stats for WindowsNoEditor
[2022.08.15-11.19.18:000][767]LogMemory: Process Physical Memory: 1740.19 MB used, 3245.45 MB peak
[2022.08.15-11.19.18:000][767]LogMemory: Process Virtual Memory: 4405.39 MB used, 5853.01 MB peak
[2022.08.15-11.19.18:000][767]LogMemory: Physical Memory: 19774.70 MB used, 12929.58 MB free, 32704.27 MB total
[2022.08.15-11.19.18:000][767]LogMemory: Virtual Memory: 134207832.00 MB used, 9894.92 MB free, 134217728.00 MB total
[2022.08.15-11.19.18:000][767]Message dialog closed, result: Ok, title: The UE4-VRProjectGame has crashed and will close, text: Assertion failed: PipelineState.FrameState.predictedDisplayTime [File:G:/Epic/427/Engine/Plugins/Runtime/OpenXR/Source/OpenXRHMD/Private/OpenXRHMD.cpp] [Line: 2517]
[2022.08.15-11.19.18:000][767]LogOutputDevice: Warning:
Script Stack (0 frames):
[2022.08.15-11.19.18:000][767]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2022.08.15-11.19.18:000][767]LogWindows: Error: === Critical error: ===
[2022.08.15-11.19.18:000][767]LogWindows: Error:
[2022.08.15-11.19.18:000][767]LogWindows: Error: Fatal error: [File:G:/Epic/427/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp] [Line: 902]
[2022.08.15-11.19.18:000][767]LogWindows: Error: Rendering thread exception:
[2022.08.15-11.19.18:000][767]LogWindows: Error: Assertion failed: PipelineState.FrameState.predictedDisplayTime [File:G:/Epic/427/Engine/Plugins/Runtime/OpenXR/Source/OpenXRHMD/Private/OpenXRHMD.cpp] [Line: 2517]
[2022.08.15-11.19.18:000][767]LogWindows: Error:
[2022.08.15-11.19.18:000][767]LogWindows: Error: `
This line [2022.08.15-11.19.13:662][766]LogHMD: FOpenXRHMD::Enumerate_Views() :: predictedDisplayTime id : 0 is called right before enters to LocateView() function which contains the assert. Then, xrWait is called with valid values, but the assert is called anyway.
Does that mean UE4 is trying to get this value before getting it from xrWait? Is a bug in UE4 then? Any suggestions on how to approach this?