Apparently, this was a common issue in UE5 with MSFTOpenXR
Solved the problem by putting a delay in StartARSession()
in BeginPlay()
FTimerHandle DelayTimerHandle;
GetWorld()->GetTimerManager().SetTimer(DelayTimerHandle, FTimerDelegate::CreateLambda(
[this]()->void
{
UARBlueprintLibrary::StartARSession(ARSessionConfig);
}
), 0.5f, false);